2017-01-26 2 views
-2

.NetFrameworkのPlaceholder.csという別のファイルにあるクラスからイベントを呼び出そうとしています。他のクラスのイベントを呼び出すC#.Net Framework

イベントを呼び出すテキストボックスがUsername_TextBoxです。イベントハンドラを作成する必要があるかどうか、またはこれを実行できる方法がわかりません。イベントを参照したいクラスの新しいインスタンスを作成しようとしましたが、Username_TextBoxに割り当てまたは参照する方法がわかりません。

+1

あなたはイベントを呼び出すのではなく、それらを購読しています。実際には、あなたの言葉で言えば、あなた(またはもっと技術的には、任意の購読されたイベントハンドラ)を呼び出すイベント。 – InBetween

+0

いくつかのコードが役に立ちます。 'Username_TextBox'はあなたのカスタムクラスですか? –

+1

まず、[SOの良い質問のしくみ](http://stackoverflow.com/help/how-to-ask)をお読みください。また、イベントを使用する方法については、Googleを使用して、[this](https://www.codeproject.com/Articles/11541/The-Simplest-C-Events-Example-Imaginable)や[this](http: //www.c-sharpcorner.com/uploadfile/Ashush/events-in-C-Sharp/)そして質問を投稿して、ここに[example](http://stackoverflow.com/help/)を書いてください。 mcve)あなたの問題を示しています。 – Fabjan

答えて

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); 
     } 
    } 

} 
関連する問題