2017-01-04 4 views
0

私は合計4つのフォーム(Form1、form2、form3、form4)を持っています。
3ボタン(様式1は、2(ボタン1、ボタン2)を有する、フォーム2は、図1(ボタン3)を有する)if-elseステートメントを使用してボタンのクリック履歴を確認する方法は? C#

次のように私の状況がある:

を両方のボタンがForm1リードform2に異なるラベルの入力で。 私がしたいのは、私のボタン3がクリックされたとき、そしてelseループが、ボタンがどのフォームにつながるかを(form3、form4)判断する場合です。 button1をクリックすると、ボタン3はform3に、そうでない場合はbutton3がform4になります。

私のコードのどこにどの部分を含めるべきかわからないので、この質問をしている間にボタンのコードを入力する必要があります。

これはボタン1コードです:

public void DOModuleButton_Click(object sender, EventArgs e) 
{ 
    alloDO(); 
    FormSerial frm = new FormSerial(); 
    frm.MyProperty = ALL; 
    frm.Show(); 
} 

public void alloDO() 
{ 
    ALL = "DO"; 
} 
+0

ボタンの名前を変更できることはご存知ですか?デザイナーではコントロールを選択し、プロパティではその名前を意味のあるものに変更します。それは数字のボタンである必要はありません –

+0

@ M.kazemAkhgary彼らはすべて自分の名前を持って、私は理解の容易のために質問でbutton1とbutton2と述べた:) –

答えて

1

簡単な解決策は、あなたが唯一の2つのボタンを区別する必要があるため、ブールフラグを使用することができます

public void DIModuleButton_Click(object sender, System.EventArgs e) 
{ 
    // MessageBox.Show("TEST"); 
    alloDI(); 
    FormSerial frm = new FormSerial(); 
    frm.MyProperty = ALL; 
    frm.Show(); 
} 

public void alloDI() 
{ 
    ALL = "DI"; 
} 

これはButton2のコードです。

MyPropertyと同じように、新しいboolプロパティを2番目のフォームに追加してください。 Form2の中

:あなたはそれに応じて設定しますボタンのクリックイベントで

public bool Button1_pressed { get; set; } 

public void DIModuleButton_Click(object sender, System.EventArgs e) 
{ 
    // MessageBox.Show("TEST"); 
    alloDI(); 
    FormSerial frm = new FormSerial(); 
    frm.MyProperty = ALL; 
    frm.Button1_pressed = true; 
    frm.Show(); 
} 

秒であなたが偽

にそれを設定し、3つ目のボタンですあなたはこの変数をチェックすることができます。

あなたはもっとして2つのボタンを持っている場合は、私は別の例を確認するためにenumとスイッチケースを使用することをお勧め:

プロパティは次のようになります。

public ButtonSource MyButton_Clicked { get; set; } 

// here your enum 
public enum ButtonSource 
{ 
    button1, 
    button2, 
    button3, 
    button4 
} 

とスイッチケース:

switch (MyButton_Clicked) 
{ 
    case ButtonSource.button1: 
     break; 
    case ButtonSource.button2: 
     break; 
    case ButtonSource.button3: 
     break; 
    case ButtonSource.button4: 
     break; 
    default: 
     break; 
} 
+0

これは私が3ボタンの代わりに2?ボタン1はフォーム3に、ボタン2はフォーム4に、もう1つの追加ボタン "*ボタン3 *"(フォーム1にあります)が表示され、フォーム5が表示されます。 –

+0

@MuhammedNizamBinKamarudeen残念なことに、 'bool'は' false'の 'true'にしかなり得ないので、他のボタンについては別の提案を書いています。私の編集 –

+0

を試してみてください。これを試してみてください!どうもありがとう! –

関連する問題