0
私のアプリケーションでは、ユーザーがフォームを開くためにラベルをクリックするとフォームがbackground.Iで表示されますが、これは前面に来るのではなく、むしろタスクバーに置かれていることを意味します。ユーザーがフォームのインスタンスをキャンセルしてラベルを再度クリックすると、フォームがフォアグラウンドで開きます。コードの一部が特定の作業を行います。WindowsフォームをC#で前面に表示するにはどうすればよいですか?
if (DataFormDlg.Instance.InvokeRequired)
{
DataFormDlg.Instance.BeginInvoke(
new ShowDataFormDelegate(ShowDataForm), pageId, timeout);
return;
}
DataFormDlg.Instance.CurrentPageId = pageId;
DataFormDlg.Instance.Timeout = timeout;
if (!DataFormDlg.Instance.Visible)
DataFormDlg.Instance.ShowDialog();
else
DataFormDlg.Instance.Focus();
ここで、DataFormDlgはWindowsフォームから派生しています。
あなたがDataFormDlg、インスタンスを試してみました[BringToFront関数()](https://msdn.microsoft.com/en-us/library/system.windows。 .forms.control.bringtofront%28v = vs.110%29.aspx?f = 255&MSPPError = -2147217396); – Steve
はい..これを試みました.. –
明示的にフォームのParentプロパティを設定しようとしましたか? –