C#从另一个类.Net Framework调用事件

时间:2017-01-26 15:58:31

标签: c# events delegates

我试图在.NetFramework中的一个名为Placeholder.cs的单独文件中调用我所拥有的类中的事件。

我有一个名为Username_TextBox的文本框,我想从中调用事件。我不确定是否需要创建事件处理程序或方法才能执行此操作。我尝试创建一个我想引用该事件的类的新实例,但我不知道如何将其分配或引用到Username_TextBox

1 个答案:

答案 0 :(得分:0)

根据您的一条评论,您的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);
        }
    }

}