-2
我想從一個類中調用一個事件,我在一個名爲Placeholder.cs的單獨文件中.NetFramework中。C#調用另一個類的事件.Net Framework
我有一個名爲Username_TextBox
的文本框,我想從中調用事件。我不確定是否需要創建一個事件處理程序或可以執行此操作的方法。我曾嘗試創建一個我想引用該事件的類的新實例,但我不知道如何將其分配或引用到Username_TextBox
。
我想從一個類中調用一個事件,我在一個名爲Placeholder.cs的單獨文件中.NetFramework中。C#調用另一個類的事件.Net Framework
我有一個名爲Username_TextBox
的文本框,我想從中調用事件。我不確定是否需要創建一個事件處理程序或可以執行此操作的方法。我曾嘗試創建一個我想引用該事件的類的新實例,但我不知道如何將其分配或引用到Username_TextBox
。
從您的評論中,您聽起來像是有一個Textbox
,其中有一些文字,而當Textbox
有焦點時,您希望刪除該文字?
如果我理解你的評論,那麼下面的代碼可能會幫助你。
public partial class Form1 : Form
{
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, [MarshalAs(UnmanagedType.LPWStr)] string lParam);
private const uint EM_SETCUEBANNER = 0x1501;
private const uint CB_SETCUEBANNER = 0x1703;
public Form1()
{
InitializeComponent();
//Text that will appear in the textbox if it is empty
setCueText(textBox1, "Enter password here");
}
private void setCueText(Control ctl, string text)
{
if (ctl is ComboBox)
{
SendMessage(ctl.Handle, CB_SETCUEBANNER, (IntPtr)0, text);
}
else
{
SendMessage(ctl.Handle, EM_SETCUEBANNER, (IntPtr)0, text);
}
}
}
你不會調用事件,你訂閱他們。實際上,按照你的說法,這是一個事件誰打電話給你(或更技術上說,任何訂閱事件處理程序)。 – InBetween
有些代碼會有幫助。 'Username_TextBox'是你的自定義類嗎? –
首先,請閱讀[如何在SO上提出一個好問題](http://stackoverflow.com/help/how-to-ask)。你也可以谷歌如何使用事件和找到像[這](https://www.codeproject.com/Articles/11541/The-Simplest-C-Events-Example-Imaginable)或[this](http: //www.c-sharpcorner.com/uploadfile/Ashush/events-in-C-Sharp/),然後如果您有任何問題,請在此提供[示例](http://stackoverflow.com/help/ mcve)說明你的問題。 – Fabjan