1

フォームを常にアクティブに設定する方法はありますか? 別のフォームを開いても、開いたフォームは非アクティブに設定され、他のセットはアクティブに設定されます。
例:
「メイン フォーム」と「リマインダー フォーム」の 2 つのフォームがあります。アプリケーションを起動すると、「リマインダー フォーム」が読み込まれ、次に「メイン フォーム」が読み込まれ、その後「メイン フォーム」がアクティブになりますが、その「リマインダー フォーム」がアクティブになりたいのですが、フォームのロード方法のシーケンスが必要です同じであること。

4

6 に答える 6

1

「アクティブ」とは、常に焦点を合わせていることを意味する場合、それは組み込みの方法では不可能であり、あなたが処理する必要があります。常に表示したい場合(他のフォームの上に表示したい場合)は、属性を使用できるため、 TopMost以外TopMost=trueのすべてのフォームに常に表示されます。ちなみに、別のTopMostフォームが表示された場合は保証されません。

お役に立てれば。

于 2012-04-12T06:51:30.243 に答える
1

あなたが使うことができます

public ReminderForm()
{
    InitializeComponent();
    MainForm frm2 = new MainForm();
    MainForm.Show();
    Activate();
}

フォームを常に他のフォームの上に置きたい場合は、TopMost = true;

于 2012-04-12T06:52:58.167 に答える
0

Deactivateイベントに登録してからActivate、フォームを再度アクティブにするために呼び出すことができます。

public ReminderForm()
{
    //other stuff
    Deactivate += (s, e) => { if (/* check if really do it */) Activate(); };
}

「リマインダーフォーム」を表示したいだけの場合TopMostは、trueに設定する方が簡単です。

于 2012-04-12T06:51:59.440 に答える
0

TopMostフォームのプロパティをに設定しますtrue

于 2012-04-12T06:52:45.137 に答える
0

TopMostプロパティをに設定True

于 2012-04-12T08:31:59.523 に答える
0
    private void button1_Click(object sender, EventArgs e)
    {
        Form2 f2 = new Form2();
        f2.Show();
        this.Focus();
    }
于 2012-04-12T06:59:58.877 に答える