6

メイン、セールス、ログインの3つのフォームがあります。

メインフォームにはタイマーがあります。たとえば、5分後にログインフォームが起動します。

メインフォームを閉じなくても販売フォームをメインフォームで開くことができるので、ログインフォームが起動します。

問題は、ログインフォームが販売フォームの上に焦点を合わせていないため、ユーザーが販売フォームを使用するにはログインする必要があることです。

メインフォームのいくつかのコード:

public void timer_Tick(object sender, EventArgs e)
        {
            timer.Stop();
    LoginDialog loginForm = new LoginDialog();
                loginForm.TopLevel = true;
                loginForm.ShowDialog();
timer.Start()
}

 private void pbSales_Click(object sender, EventArgs e)
        {
            Sales salesForm = new Sales();
            salesForm .ShowDialog(this);
        }
4

3 に答える 3

7

編集

あなたのために働くかもしれない両方の組み合わせを試してみてください。

private void frmMain_Shown(object sender, EventArgs e)
{
// Make this form the active form and make it TopMost
this.ShowInTaskbar = false;
this.TopMost = true;
this.Focus();
this.BringToFront();
this.TopMost = false;
}

これを試してみてください

yourForm.TopMost = true;

また

Control.BringToFrontメソッド

yourform.BringToFront()
于 2012-07-13T10:08:14.833 に答える
2

問題は、ShowDialogから電話をかけMainFormていて、セールスフォームも開いていることだと思います。

ダイアログの親はたまたまであるため、MainForm次を使用してみることができます。

loginForm.ShowDialog(saleform1);

salesform1は、メインフォームから開いた販売フォームのインスタンス名です。

于 2012-07-13T10:22:50.133 に答える
0

いじくり回しTopMostBringToFront()

于 2012-07-13T10:09:05.007 に答える