- ベストアンサー
C# 計算処理中に実行中ウィンドウを表示させたい。
アドバイスをお願いいたします。 やりたいこと: (1)メインウィンドウで「計算始めるボタン」を押す。 (2)すると計算中には「実行中」の文字が別ウィンドウで立ち上がる。 (3)計算が終わると別ウィンドウが閉じる。 下記プログラムの不具合: 別ウィンドウで「実行中」の文字を出させたいが、文字部分が描画されない。 注意: 下記プログラムはAthlon3000+で1秒ほどかかります。 CPUが遅いマシンで試す場合は「//計算処理」部分のfor重みを軽減させて実行して下さい。 using System; using System.Drawing; using System.Windows.Forms; //メインウィンドウ public class MainForm : Form { private Button button; private Label label; public MainForm() { button = new Button(); button.Text = "計算GO!!"; button.Click += new System.EventHandler(button_click); label = new Label(); label.Location = new Point(50,50); label.Text = "メインウィンドウ!"; Controls.Add(button); Controls.Add(label); Text = "MainForm"; BackColor = Color.Blue; } static void Main() { Application.Run(new MainForm()); } //計算GOボタンをクリックした時の処理 private void button_click(object sender, System.EventArgs e) { double z; SubForm Sub = new SubForm(); Sub.Show(); //計算処理 for(int i=0; i<=500000000; i++) z = double.MaxValue * double.MinValue; Sub.Close(); MessageBox.Show("計算終了"); } } //計算中を通知するウィンドウ public class SubForm : Form { private Label label; public SubForm(){ label = new Label(); label.Text = "実行中!"; label.Location = new Point(50,50); Text = "計算中通知ウィンドウ"; BackColor = Color.Red; Controls.Add(label); } }
- みんなの回答 (2)
- 専門家の回答
お礼
マルチスレッドにして解決できました。 回答どうもありがとうございました。