ホームページ > バックエンド開発 > C++ > 最初のフォームでDatagridView行を選択して、ComboBoxのSelectedValueを2番目のフォームに設定する方法は?

最初のフォームでDatagridView行を選択して、ComboBoxのSelectedValueを2番目のフォームに設定する方法は?

Patricia Arquette
リリース: 2025-01-31 07:36:11
オリジナル
407 人が閲覧しました

How to Set a ComboBox's SelectedValue on a Second Form by Selecting a DataGridView Row on the First Form?

WindowsフォームはWindows通信方法

をフォームします シーン:

Windowsフォームアプリケーションは、多くの場合、1つのウィンドウの選択に応じて別のウィンドウのコントロールを入力するなど、複数のウィンドウ間のデータインタラクションが必要です。

質問:

最初のウィンドウで行を選択してdatagridViewにラインを設定してコンボボックスを入力してコンボボックスをこの値で埋めることにより、2番目のウィンドウのselectedValueをセットアップする方法は?

解決策:

Windowsフォームでは、Windowsは他のC#カテゴリに似ており、Windows間の通信方法はクラス間通信方法と同じです。

最初のウィンドウの2番目のウィンドウを操作:

コンストラクト関数パラメーター転送:

2番目のウィンドウのコンストラクターに必要なパラメーターを追加します。 2番目のウィンドウインスタンスを作成すると、値はコンストラクターに渡されます。

パブリック属性またはメソッド:2番目のウィンドウでパブリック属性またはメソッドを作成し、2番目のウィンドウインスタンスを作成した後にこれらの属性を設定します。 このようにして、2番目のウィンドウはこれらの値にアクセスできます。

パブリックコントロール:
    別の方法は、他のウィンドウからアクセスするためにパブリックアクセス許可に操作する必要があるコントロールを設定することです。 ただし、これは通常、コードのメンテナンスとスケーラビリティが低下するため、推奨されません。
  • 2番目のウィンドウの最初のウィンドウを操作:
  • 最初のウィンドウインスタンスを渡します。
  • 2番目のウィンドウにパブリック属性を作成して、最初のウィンドウのインスタンスを保存します。 2番目のウィンドウインスタンスを作成するときは、最初のウィンドウのインスタンスを渡します。次に、このインスタンスを使用して最初のウィンドウを操作できます。
  • イベントを使用します:2番目のウィンドウでイベントを作成し、最初のウィンドウでイベントを購読します。最初のウィンドウが必要な場合、イベントがトリガーされます。
アクション委員会に挿入します:

2番目のウィンドウに委託されたタイプの公開属性を定義します。 2番目のウィンドウインスタンスを作成するときは、カスタムアクションを使用して属性を割り当てます。 最初のウィンドウを操作する必要がある場合は、2番目のウィンドウでアクションを呼び出します。 最初のウィンドウコントロール:

最初のウィンドウの制御を直接開示し、最初のウィンドウのインスタンスを2番目のウィンドウに渡します。その後、コントロールを操作できます。 しかし、これは推奨されません、理由は上にあります。
  • 例:
  • 操作最初のウィンドウの2番目のウィンドウ
  • 例1-2番目のウィンドウを使用するコンストラクター:
  • 最初のウィンドウの
  • 例2- 2番目のウィンドウを使用するパブリック属性:

最初のウィンドウの

最初のウィンドウは2番目のウィンドウから動作します

例3-最初のウィンドウのインスタンスを2番目のウィンドウに移動し、パブリック方法を使用します。 form2:

を作成する場合
<code class="language-csharp">public partial class Form2 : Form
{
    int selectedValue;
    public Form2(int value)
    {
        InitializeComponent();
        selectedValue = value;
    }

    private void Form2_Load(object sender, EventArgs e)
    {
        // 加载数据
        this.comboBox1.DataSource = new MyDbContext().Categories.ToList(); // 假设Categories是数据库表
        this.comboBox1.DisplayMember = "Name";
        this.comboBox1.ValueMember = "Id";
        this.comboBox1.SelectedValue = selectedValue;
    }
}</code>
ログイン後にコピー

これらの例は、さまざまな方法の実装を示しています。選択する方法は、特定のアプリケーションシナリオとコード構造に依存します。 コードのメンテナンスと読みやすさを改善するために、直接的なパブリックコントロールを回避するために、パブリック属性または方法の使用を優先することをお勧めします。

以上が最初のフォームでDatagridView行を選択して、ComboBoxのSelectedValueを2番目のフォームに設定する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート