我需要找到在UserControl
前面調用的事件。Winforms - UserControl OnGotFocus事件
我看到OnLoad
事件,但它在第一次加載時起作用。
OnGotFocus
也不會調用。
有人嗎?
我需要找到在UserControl
前面調用的事件。Winforms - UserControl OnGotFocus事件
我看到OnLoad
事件,但它在第一次加載時起作用。
OnGotFocus
也不會調用。
有人嗎?
誰是UserControl的父母?
您可以通過包含UserControl的控件來處理它。如果UserControl在TabControl中,則可以管理事件enterPage,或者如果它是WindowsForm,則需要從包含它的窗體中觸發UserControl事件。我這樣做。
UserControlStandardMacchine uc = null;
private void tabPageMacchine_Enter(object sender, EventArgs e)
{
if (uc!= null)
{
uc = new UserControlStandardMacchine();
uc.Parent = this;
uc.Dock = DockStyle.Fill;
uc.refreshData();
}
else
{
uc.refreshData();
}
}
較低級別的方法是覆蓋WndProc方法。這使您可以控制表單正在處理的任何類型的消息。
激活消息有一個數字0x006。下面的鏈接可用進程的列表: http://wiki.winehq.org/List_Of_Windows_Messages
樣品實現可以是這樣的:
public partial class Form2 : Form
{
private const int WM_ACTIVATE = 0x006;
public Form2()
{
InitializeComponent();
}
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_ACTIVATE)
{
Console.WriteLine("Activate");
}
base.WndProc(ref m);
}
}
任何代碼共享?您是否註冊了「GotFocus」的事件處理程序? – Boklucius
Define帶在最前面? – Pseudonym
你想做什麼?請解釋該功能,以便人們可以幫助您選擇潛在的替代品。 –