私はC#でWindowsアプリケーションを開発しています。私は小数点以下の3つの変数を使用しました:counter
、narrow
、およびbroad
いくつかの計算に基づいて異なる値を格納しています。 別のフォームに変数を渡す
答えて
新しいフォームを作成...
public class CalculationResultForm : Form
{
public CalculationResultForm(){}
public decimal Counter
{
set { labelCounter.Text = value.ToString(); }
}
public decimal Broad
{
set { labelBroad.Text = value.ToString(); }
}
public decimal Narrow
{
set { labelNarrow.Text = value.ToString(); }
}
private void OkButton_Click(object sender, EventArgs e)
{
// This will close the form (same as clicking ok on the message box)
DialogResult = DialogResult.OK;
}
}
次に、既存のフォームボタン内で、をクリックします。 ndler ...
private void MyButton_Click(object sender, EventArgs e)
{
CalculationResultForm resultForm = new CalculationResultForm();
resultForm.Counter = _counter;
resultForm.Narrow = _narrow;
resultForm.Broad = _broad;
resultForm .ShowDialog();
Application.Exit();
}
簡単な方法は、プロパティを使用することです。値を渡すフォームは別のクラスです。
第二の形式にこのようなものを追加します。
public int counter {get; set;}
は、最初のフォームからあなたが
Form2 form2 = new Form2();
form2.counter = 1;
form2.ShowDialog();
またはそれらの線に沿って何かの線に沿って何かをしたいです。
how to do this without using ShowDialog()というブログ記事があります。
第2の形式で新しいコンストラクタを作成する方法があります。 2番目のフォームの値を使用することができます。メインフォームから
public Form2(decimal x, decimal y, decimal z):this()
{
this.TextBox1.Text = Convert.ToString(x);
this.Label1.Text = Convert.ToString(y);
etc...
};
Form2 frm2 = new Form2(x,y,z);
frm2.Show();
私はあなたがこれを行うときにデザイナーのサポートを失うと思います。 –
Iveには問題がありませんでした。 – Inisheer
私はこれも多く、デザイナーには問題がありません。おそらく、あなたがデフォルトのコンストラクタを隠してしまうと、問題が発生するかもしれません。 – overslacked
最も簡単な方法は、おそらく新しいメソッドを追加することで、それはShowWithDetails呼び出すことができます:
public void ShowWithDetails(double Counter, double Narrow, double Broad)
{
CounterLabel.Text = Counter.ToString();
NarrowLabel.Text = Narrow.ToString();
BroadLabel.Text = Broad.ToString();
ShowDialog();
}
- 1. Qtのあるフォームから別のフォームに変数を渡す
- 2. 変数をフォームに渡す
- 3. フォームに複数の変数を渡す
- 4. vb6で変数を1つのフォームから別のフォームに渡す
- 5. 前のフォームで定義された変数を別のフォームに渡す
- 6. フォーム変数を引数に渡す
- 7. フォーム変数をURLに渡す方法
- 8. Edge Animateでフォームに変数を渡す
- 9. フォーム変数をSQLコマンドに渡すアクセス
- 10. 変数を別のスクリプトに渡す
- 11. 別のWebページに変数を渡す
- 12. WordPress別のショートコードに変数を渡す
- 13. 変数値を別のURLに渡す
- 14. returnステートメント変数を別の関数変数に渡すには?
- 15. あるフォームから別のフォームのtextBoxChangedイベントハンドラに変数を渡す方法はありますか?フォーム1で
- 16. 別のフォームにクラスを渡すには?
- 17. フォームデータを別のフォームのデータグリッドビューに渡す
- 18. 別のフォームにdatagridviewの値を渡す
- 19. onCreateメソッドのメソッドから別の変数に変数を渡す
- 20. Javascriptがchrome.storage.local.getの変数を別の変数に渡す
- 21. 別のフォームに配列を渡す(vb.net)
- 22. htmlとjavascriptで変数を別の変数に渡す
- 23. HTMLフォームでJavaScript変数を渡すアクション
- 24. Windowsフォームで変数を渡す
- 25. 関数から別の関数に変数を渡すには?
- 26. ax 2012のフォームから別のフォームに引数を渡す方法
- 27. jQuery - 関数内の変数を別の関数に渡す
- 28. あるフォームの値を別のフォームのコンボボックスに渡す方法
- 29. 1つのフォームのDatePicker.Valueを別のフォームに渡しますか?
- 30. ラベルの値をあるフォームから別のフォームに渡す
なぜ 'Application.Exit'コールですか?そうでなければ私は答えが好きです。フォームが非モーダルで表示され、フォームが表示されたままになり、プロパティを通じて新しい値で更新され続けることが可能になるからです。 –
元の質問は、現時点で起こっていることを暗示しているようです。「ボタンをクリックすると、これら3つの10進値とアプリケーションが終了するメッセージボックスが表示されます」 - 明らかに、必要でない場合は削除できます。 – Oll
thanx a ton!その最高の答えはうまくいきました。代わりに、OKボタンの代わりに、印刷ダイアログボックスを表示する '印刷'ボタンを使用することができます。実際には、ユーザーがスコアカードを直接印刷したいのです...アクションを実行するコマンドが存在する場合は助けてください。 thanx !! – knowledgehunter