c#窗口形成叠加大小但显示背景窗体控件框

时间:2013-08-19 15:05:20

标签: c# winforms

我有一个C#windows窗体应用程序,它显示一个不透明的叠加窗体,用于从服务器获取数据时显示“请稍候...”。

叠加形式的宽度和高度与主窗体相同,但我想知道如何让叠加窗体仅显示顶部标题主窗体,以便可以单击ControlBox(关闭,最小化等)按钮。

我需要知道主表格标题栏的高度属性。

感谢任何指南。

由于

1 个答案:

答案 0 :(得分:0)

假设您的重叠表单为splash

splash.StartPosition = FormStartPosition.Manual;//This is important to inialially position the splash correctly (at starting).
splash.Location = mainForm.PointToScreen(Point.Empty);

但是为了使其按预期工作,您需要更多代码:

//LocationChanged event handler for your mainForm
private void mainForm_LocationChanged(object sender, EventArgs e){
  splash.Location = mainForm.PointToScreen(Point.Empty);
}

在展示您的splash时,您需要这样的内容:

splash.Show(mainForm);
//if you call it in your mainForm class, just use the keyword this
splash.Show(this);