bob*_*bob 1 c# multiple-monitors winforms setbounds
我有一个小应用程序,它起到警报系统的作用,我使用一个表单作为警报出现在屏幕上,因为它们更通用和消息框.由于警报的性质,我需要它出现在所有当前连接的监视器的中心.我现在只在主监视器上显示它.
我在这里看了这两个帖子:
但我真的无法理解它,我已经查看了Screens.AllScreens属性,但仍然感觉没有更好的理解如何告诉表单哪个监视器出现,甚至更多地让它出现在多个,因为我假设我需要通过AllScreens数组进行循环.
我还需要关闭其中一个按钮时钟的所有表格,但是现在我只想在所有显示器上显示它们.
很抱歉提出一个我觉得大多数人都认为已经回答的问题.
这个对我很有用..
首先创建一个内部带有标签的警报表单.设置label1属性 - > Modifier = public

void showMsgOnAllScreens(string msg)
{
for (int i = 0; i < Screen.AllScreens.Length; i++)
{
AlertForm alert = new AlertForm();
alert.label1.Text = msg;
alert.StartPosition = FormStartPosition.Manual;
alert.Location = new Point(
Screen.AllScreens[i].Bounds.Left + (Screen.AllScreens[i].Bounds.Width / 2 - alert.Width / 2),
Screen.AllScreens[i].Bounds.Height / 2 - alert.Height / 2);
alert.Show();
}
}
Run Code Online (Sandbox Code Playgroud)
.
.
.
现在只需调用方法在所有屏幕上显示消息.
void button1_click (object sender, EventArgs e)
{
showMsgOnAllScreens("Warning.. Something's burning..!!");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |