首页 > 解决方案 > .Net WinForms当它具有AllowTransparency = true时,使用SendMessage(...WM_SETREDRAW ..)暂停表单布局的意外行为,隐藏表单

问题描述

有一个表格:

Me.AllowTransparency = True
Me.BackColor = Color.Magenta
Me.TransparencyKey = Me.BackColor

并做:

SendMessage(pForm.Handle, WM_SETREDRAW, New IntPtr(CInt(False)), IntPtr.Zero)

隐藏表单,没有透明效果,效果很好……</p>

有解决方法吗?另一种真正暂停布局的方法?

定义:

Private Const WM_SETREDRAW As Int32 = &HB
Private Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal wMsg As Int32, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr

使用 Win10 (1803)。

标签: winformstransparencysendmessage

解决方案


推荐阅读