0

別のフォーム上の項目の位置を動的に変更するための助けが必要です。

作成中のアプリ用のスキン デザイン ツールを作成しようとしていますが、あるフォームから別のフォームへのイベントの処理方法を知る必要があります。

私がやりたいことは、いくつかのテキスト ボックスにいくつかの初期変数を設定し、プレビュー ボタンを押すことです。これにより、新しいフォームが開き、スキンが表示されます。次に、最初のフォームのボタンをクリックしてアイテムの位置を微調整できるようにしたいと思います。

form1 から form2 の初期位置を取得しても問題ありません。このようにします。

Form1 form1 = (Form1)Application.OpenForms["Form1"];
int xPos = 0;
int yPos = 0;
if (int.TryParse(form1.textBox1.Text, out xPos))
if (int.TryParse(form1.textBox2.Text, out yPos))
button1.Location = new Point(xPos,yPos);

そして、位置を増やすためのform1の私のボタンコードはこれです。

Form2 PreviewWindow = new Form2();
int newText;
int xPos = 0;
int yPos = 0;
if (int.TryParse(textBox1.Text, out xPos))
if (int.TryParse(textBox2.Text, out yPos))
PreviewWindow.button1.Location = new Point(xPos + 1 , yPos);
newText = xPos + 1;
textBox1.Text = newText.ToString();

しかし今、私はイベントを第 2 形式に更新することに行き詰まっています。

4

2 に答える 2

2

の新しいインスタンスを作成しているため、2 番目のコードは機能しませんForm2。代わりにこれを試してください

Form2 PreviewWindow = (Form2)Application.OpenForms["Form2"];
int newText;
int xPos = 0;
int yPos = 0;
if (int.TryParse(textBox1.Text, out xPos))
if (int.TryParse(textBox2.Text, out yPos))
PreviewWindow.button1.Location = new Point(xPos + 1 , yPos);
newText = xPos + 1;
textBox1.Text = newText.ToString();
于 2013-09-26T12:20:29.130 に答える