再版: (メッセージ 324 件) C# フォームから別の form_c# への値のリアルタイム転送 1 つのフォームに入力し、別の form_zlbcdn のブログ - CSDN ブログ
1. 機能表示
場合によっては、子インターフェイスのコンテンツを親インターフェイスに渡す必要があり、いくつかの方法があります。多くの場合、委任によって実現されます。具体的な効果は以下の通りです。
[説明] 親インターフェースの「サブインターフェースを開く」ボタンをクリックすると、サブインターフェースがポップアップ表示されます。親インターフェイスと子インターフェイスを上の図に示します。
【説明】 子インターフェースのテキストボックスに親インターフェースに返す内容を入力し、「内容を返す」ボタンをクリックすると、親インターフェースのテキストボックスに返された内容が表示されます。具体的には上の図のように
2. コード分析
アプリケーションのデリゲート (delegate) とイベント (event) の内部。委任はフロントエンド開発で最も一般的に使用される「コールバック メソッド」(コールバック) であり、イベントはアクションと委任を関連付ける登録メカニズムです。
上記の機能を実現するには、まずサブフォームの定義を記述します。コードは以下のように表示されます:
public partial class Form2 : Form
{
//第二步:声明一个委托类型的事件
public event setTextValue setFormTextValue;
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//第三步:准备相关数据。
setFormTextValue(this.textBox1.Text);
}
}
// 第一步:声明一个委托。(根据自己的需求)
public delegate void setTextValue(string textValue);
ステップ 1: まず、サブフォームでデリゲートを定義します。実際のニーズに応じて委任を定義する
ステップ 2: サブフォームでイベントを宣言し、デリゲートをアクションに関連付ける
ステップ 3: 特定のイベントにイベントを実装する
上記の 3 つの手順については、Form2 のコードを参照してください。
親フォームのコードは次のとおりです。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
//第四步:初始化事件
form2.setFormTextValue += new setTextValue(form2_setFormTextValue);
form2.Show();
}
//第五步:实现事件
void form2_setFormTextValue(string textValue)
{
//具体实现。
this.textBox1.Text = textValue;
}
}
親フォームの具体的な実装では、次の 2 つのステップに分かれています。
ステップ 4: サブフォームを定義するときに、サブフォームのイベントを宣言する
ステップ 5: 特定のイベントを実装する
以上、それだけです
3. 機能分析
委託による利点: 疎結合。
4. ソースコードのダウンロード
[説明] CSDN が古いコードをダウンロードする際のしきい値を金貨 50 コインに自動的に増やすため、コードを Baidu Cloud に共有します。具体的なリンク先は以下の通りです
ダウンロードリンク 抽出コード: zkeu