非常に基本的な質問があります。シナリオ: 2 つのフォーム Form1、Form2 - ユーザーから 3 つの入力を受け取るダイアログ ボックス Form1 には、ユーザーがいくつかのセルを選択できるグリッドがあります。ユーザーが選択すると、rowindex と colindex が変数 c1,c1,r1,r2 に格納されます。
フォーム1:
private InsertRowsMethod(...)
{
float dv ;
GridRangeInfoList list;
Boolean b = theGrid.Selections.GetSelectedRanges(out list, true);
if (list.Count > 0)
{
r1= list.ActiveRange.Top;
c1 = list.ActiveRange.Left;
c2 = list.ActiveRange.Right;
}
DateTime dt;
frmDialog dialog = new frmDialog();
dialog.Show();
int dialognrows = Int32.Parse(dialog.textBox1.Text);
float dialogdv = float.Parse(dialog.textBox2.Text);
// var dttext = (DateTime.Parse(textBox3.Text)).Ticks;
TimeSpan dialogdt = TimeSpan.Parse(dialog.textBox3.Text);
for (int nc = insertc1; nc <= insertc2; nc++)
{
insertData(nc, insertr1, dialognrows, dialogdv, dialogdt, null);
}
}
Form2 の場合: 3 つのパラメーターが必要です。nrows,time,value 次に、これら 3 つの変数を Form2-Dialog から Form1 に渡す必要があります。ブルートフォースの方法を試しました(変更したいので、後で説明します)
In form2: I created method
private void button1_Click(object sender, EventArgs e)
{
int nrows = Int32.Parse(textBox1.Text);
float dv = float.Parse(textBox2.Text);
// var dttext = (DateTime.Parse(textBox3.Text)).Ticks;
TimeSpan dt = TimeSpan.Parse(textBox3.Text);
this.Hide();
}
うまくいったので、nrows、dv、dt(ユーザー入力) の 3 つのパラメーターをダイアログから form1-main フォームに渡すことができました。
質問: Form1 のプログラムを待機させ、ダイアログを表示し、ユーザー入力を取得して戻ってきて、この部分を続行するようにします。
for (int nc = insertc1; nc <= insertc2; nc++)
{
insertData(nc, insertr1, dialognrows, dialogdv, dialogdt, null);
}}
ダイアログが表示され、form1 に戻って insertdata を実行する必要があります。