SizeChange导致node重绘闪屏
This commit is contained in:
parent
03f8d890d8
commit
47f8ca7f48
@ -154,19 +154,27 @@ namespace Sunny.UI
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// SizeChange导致treeNode闪屏
|
/// SizeChange导致treeNode闪屏
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected override CreateParams CreateParams
|
const int TVM_SETEXTENDEDSTYLE = 0x112C;
|
||||||
|
const int TVS_EX_DOUBLEBUFFER = 0x0004;
|
||||||
|
[DllImport("user32.dll", CharSet = CharSet.Auto)]
|
||||||
|
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);
|
||||||
|
private void UpdateExtendedStyles()
|
||||||
{
|
{
|
||||||
get
|
int Style = 0;
|
||||||
{
|
|
||||||
CreateParams cp = base.CreateParams;
|
|
||||||
if (!DesignMode)
|
|
||||||
{
|
|
||||||
cp.ExStyle |= 0x02000000;
|
|
||||||
}
|
|
||||||
return cp;
|
|
||||||
|
|
||||||
}
|
if (DoubleBuffered)
|
||||||
|
Style |= TVS_EX_DOUBLEBUFFER;
|
||||||
|
|
||||||
|
if (Style != 0)
|
||||||
|
SendMessage(Handle, TVM_SETEXTENDEDSTYLE, new IntPtr(TVS_EX_DOUBLEBUFFER), new IntPtr(Style));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void OnHandleCreated(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnHandleCreated(e);
|
||||||
|
UpdateExtendedStyles();
|
||||||
|
}
|
||||||
|
|
||||||
protected override void OnSizeChanged(EventArgs e)
|
protected override void OnSizeChanged(EventArgs e)
|
||||||
{
|
{
|
||||||
base.OnSizeChanged(e);
|
base.OnSizeChanged(e);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user