24

Windows Forms アプリケーションを作成しています。フォームがあります。ボタンのクリックで元のフォームから実行時に新しいフォームを開きたい。そして、この新しいフォームを(2.3 秒後に) プログラムで閉じますが、GUI メイン スレッド以外のスレッドから閉じます。

  1. 誰でもそれを行う方法を教えてもらえますか?
  2. 新しいフォームは、元のメイン フォームで行われていたことに影響を与えたり妨げたりしますか? (はいの場合、それを停止する方法よりも?)
4

6 に答える 6

49

ボタンクリックで開くには、ボタンイベントハンドラーに次のコードを追加してください

var m = new Form1();
m.Show();

ここで Form1 は、開きたいフォームの名前です。

また、現在のフォームを閉じるには、次を使用できます

this.close();
于 2013-02-23T14:43:34.003 に答える
12

私は次のようにします:

var form2 = new Form2();
form2.Show();

現在のフォームを閉じるには、使用します

this.Hide();それ以外の

this.close();

このYoutube チャンネルリンクをチェックして、簡単なスタートアップ チュートリアルを確認してください。初心者の場合に役立つかもしれません。

于 2013-02-23T14:56:27.547 に答える
1

Dispatcher を使用して、UI スレッド以外のスレッドからグラフィカル操作を実行するだけです。これがメインフォームの動作に影響を与えるとは思いません。これはあなたを助けるかもしれません: BackgroundWorker スレッドからの UI コントロールへのアクセス

于 2013-02-23T14:22:00.020 に答える
1

これも役立つかもしれません:

void ButtQuitClick(object sender, EventArgs e)
{
    QuitWin form = new QuitWin();
    form.Show();
}

ButtQuitをボタン名に変更し、 QuitWinを作成したフォームの名前に変更します。

ボタンをクリックすると別のウィンドウが開きます。別のフォームを作成し、メイン フォームにボタンを配置して機能させる必要があります。

于 2019-06-17T13:56:23.443 に答える
0
private void btnchangerate_Click(object sender, EventArgs e)
    {
        this.Hide();  //current form will hide
        Form1 fm = new Form1(); //another form will open
        fm.Show();


    }

ボタンをクリックすると、現在のフォームが非表示になり、新しいフォームが開きます

于 2018-12-21T04:46:28.790 に答える