ボタンを1つのフォームでクリックし、別のフォームのテキストボックス内のテキストを更新するにはどうすればよいですか?C#のあるフォームから別のフォームへのイベントの伝播
6
A
答えて
14
WinFormsを使用しようとしている場合は、カスタムイベントを「子」フォームで実装できます。 「子供」フォームのボタンをクリックすると、そのイベントが発生する可能性があります。
あなたの「親」フォームはイベントをリッスンし、独自のTextBoxアップデートを処理します。
public class ChildForm : Form
{
public delegate SomeEventHandler(object sender, EventArgs e);
public event SomeEventHandler SomeEvent;
// Your code here
}
public class ParentForm : Form
{
ChildForm child = new ChildForm();
child.SomeEvent += new EventHandler(this.HandleSomeEvent);
public void HandleSomeEvent(object sender, EventArgs e)
{
this.someTextBox.Text = "Whatever Text You Want...";
}
}
1
概ね; 1つのフォームは、テキストを保持するいくつかの基本的なオブジェクトへの参照を持たなければなりません。このオブジェクトは、テキストの更新時にイベントを発生させる必要があります。別のフォームのTextBoxには、そのイベントに登録しているデリゲートが存在する必要があります。これにより、基礎となるテキストが変更されたことがわかります。 TextBoxデリゲートに通知されると、TextBoxは新しいオブジェクトのテキストをクエリし、TextBoxを新しいテキストで更新する必要があります。
0
WinFormsと仮定します。テキストボックスは、オブジェクトのプロパティにバインドされている場合
は、あなたがオブジェクトにINotifyPropertyChangedインターフェイスを実装し、変更された文字列の値について通知します。以上により
public class MyClass : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string title;
public string Title {
get { return title; }
set {
if(value != title)
{
this.title = value;
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs("Title"));
}
}
}
あなたがTitleプロパティにバインドする場合は、 - 更新がオブジェクトにバインドするすべてのフォーム/テキストボックスに「自動」を通過します。これは、更新のオブジェクトプロパティへのバインディングを通知する一般的な方法であるため、上記の特定のイベントを送信することをお勧めします。
関連する問題
- 1. C#別のプロジェクトにある別のフォームからフォームを開く
- 2. C# - イベントハンドラ - あるフォームから別のフォームへの値の受け渡し
- 3. あるフォームから別のフォームへのpublic voidの使用
- 4. あるフォームから別のフォームへのナビ
- 5. フォームを停止するUmbracoのバックオフィスでイベントの伝播を送信する
- 6. setTimeoutとイベントの伝播
- 7. イベント伝播の混乱
- 8. イベント伝播はAngular2
- 9. Flash AS3イベント伝播
- 10. あるWebフォームから別のWebフォームへの文字列の表示
- 11. GoogleマップへのJavaScriptオーバーレイメニューのイベントの伝播を停止
- 12. 別のフォームからのデータグリッドへのアクセス
- 13. イベントの伝播を停止する - salesforce1
- 14. 1つのViewModelからMVVWの別のViewModelにイベントを伝播する方法はありますか?
- 15. 角度の再開イベントの伝播
- 16. JQuery.Deferredオブジェクト間のイベントの伝播
- 17. jqueryのセレクタとイベントの伝播
- 18. C#での例外伝播
- 19. ScrollViewからAndroidのコンテナにイベントを伝播する
- 20. C#の1つのフォームからvb.netの別のフォームにリダイレクト
- 21. 子イベントのイベントストップ伝播問題
- 22. Jqueryイベントのタッチ伝播親子(リンク)
- 23. ノードj内のマザークラスにイベントを伝播
- 24. javascriptイベントの伝播を停止
- 25. GTKウィンドウのイベントが伝播しない
- 26. 角度停止イベントの伝播
- 27. Qtのあるフォームから別のフォームに変数を渡す
- 28. ラベルの値をあるフォームから別のフォームに渡す
- 29. Devexpress Winforms - あるフォームから別のフォームへの遷移中にフォームが破損する
- 30. フォームリッチテキストボックスから別のフォーム上の別のフォームにテキストを移動するC#
WindowsフォームまたはWebフォーム? .NETで –
勝利フォーム –