0

私のメインフォームには、他のフォームを表示する2つのボタンがあります(各ボタンには1つの新しいフォームが表示されます)。メインフォームのクラス名はMyMainFormです。他の2つのフォームクラス名は次のとおりです。MySubForm1、My​​SubForm2問題はサブフォーム内のMyMainFormの一部にアクセスするのに問題があります。

それらをすべて部分的にするのは良い考えですか?

4

1 に答える 1

2

別のフォームからフォームのプライベートメンバーにアクセスできることを期待しているように思えます。

メンバーのいずれかにアクセスできるようにする場合は、「サブフォーム」から親フォームへの参照が必要です。

次に、「プライベート」メンバーにアクセスできなくなります。ここでも2つのオプションがあり、必要なメンバーのpublic get / setメソッドを作成するか、オブジェクトのアクセス修飾子をpublic/internalに変更します。

あなたが試したことと達成しようとしていることを説明するコードをもう少し投稿してください。正しい方向に向けることができるかもしれません。

また、あなたの質問へのより直接的な回答では、パーシャルはあなたがやろうとしていることとは何の関係もありません。論理ファイル内のコードの分離を維持しながら、既存のクラスを拡張するためのものです。

public class Main : Form
{
     // assuming here you have three textboxes

     private void button1_Click(eventargs etc)
     {
         OtherForm otherForm = new OtherForm() { Text1 = textbox1.Text, 
                                                 Text2 = textbox2.Text,
                                                 Text3 = textbox3.Text };
         otherForm.Show();
     }

}

public class OtherForm : Form
{
    public String Text1 { get; set; }
    public String Text2 { get; set; }
    public String Text3 { get; set; }
}

この設定では、OtherFormには、フォーム作成時のテキスト値のコピーがあります。

あなたの質問の音と次のコメントによって、これはあなたがあなたのシナリオで期待するものです、しかし私はもう一度言います、私たちにいくつかのコードを見せてください、そして私たちはより良く助けることができます。パーシャルは間違いなく正しい答えではありません。

于 2012-07-24T17:39:08.477 に答える