私はクリアボタンusercontrolを含むフォームを持っています。 userControlにはテキストボックスとラベルがあります。親フォームからユーザーコントロールのパブリックメソッドを呼び出す
クリアボタンをクリックすると、テキストボックスのエントリがクリアされます。
私は、テキストボックスからエントリをクリアするuserControlクラスにパブリックメソッドを記述しました。
このclear()
メソッドを親フォームからクリアボタンをクリックすると呼び出す方法はありますか?
私はクリアボタンusercontrolを含むフォームを持っています。 userControlにはテキストボックスとラベルがあります。親フォームからユーザーコントロールのパブリックメソッドを呼び出す
クリアボタンをクリックすると、テキストボックスのエントリがクリアされます。
私は、テキストボックスからエントリをクリアするuserControlクラスにパブリックメソッドを記述しました。
このclear()
メソッドを親フォームからクリアボタンをクリックすると呼び出す方法はありますか?
あなたClear()
方法は、この
//this method in the userControl
public void Clear()
{
//Clear your text box
this.txtbox1.Text = string.Empty;
//Do other clean-up things if you want
}
のようなものでなければなりません表示されます親フォームにuserControl名を使用します(親フォームにuserControlを追加する必要があります)。ボタンイベントをクリックするとこのコードが呼び出されます
private void button1_Click(object sender, EventArgs e)
{
//Call the Clear method from the UserControl
yourUserControlName.Clear();
}
その他の場合は、コードをご記入ください。
親フォームからUserControl
へのアクセス権を持っている場合は、そのPublic機能を呼び出す際に問題はありません。どのようにコードを設計したのかよく分かりませんが、必要に応じて子コントロールのPublic関数を呼び出すことができます。
逆は少し複雑ですが、そのためには代理人を使用する必要があります。
publicメソッドが呼び出されていますが、変更はメインフォームで行われます –
@NIleshLanke:UserControl TextBoxをクリアするためにpublic関数が実装されていませんか?なぜそれがメインフォームに起こるのか分かりません。 –
思ったほど簡単である場合:
は、ボタンにアクションを追加してのbutton1_Clickは
private void button1_Click(object sender, EventArgs e)
{
YourForm();
}
これは私のコードと全く同じですが、変更はメインフォームに反映されません。メインフォームにはまだテキストボックスに古い値が含まれています。 –
'Clear()'メソッドの後に 'this.Refresh()'を呼び出すと、 'this(Clear)()'メソッドに 'this.Refresh()'を追加することもできます。 –
は、 –