gpt4 book ai didi

c# - 将表格移动到特定屏幕

转载 作者:太空狗 更新时间:2023-10-29 18:32:40 26 4
gpt4 key购买 nike

我想弄清楚如何将指定的 System.Windows.Forms.Form 移动到主屏幕以外的另一个屏幕上。我有带有可用屏幕列表的组合框,用户可以在其中选择他喜欢的任何屏幕,我的应用程序应该将其窗口之一移动到该屏幕上。

我的笔记本电脑上只有一个屏幕,没有外接显示器,所以我电脑上的 ComboBox 只提供一个选项。我认为最小化所需的窗口,将其左角移动到所选屏幕边界的中心并最大化就可以了,对吧?我只是无法测试它。这是一个好方法吗?

提前致谢!

最佳答案

这是我所做的,作为一个简单的测试......

我添加了一个简单的包装类,以便我可以更改 ToString 调用时发生的事情(我只想看到组合框中列出的名称)

private class ScreenObj
{
public Screen screen = null;

public ScreenObj(Screen scr)
{
screen = scr;
}

public override string ToString()
{
return screen.DeviceName;
}
}

在表单加载事件中我添加了这个:

foreach(Screen screen in Screen.AllScreens)
{
cboScreens.Items.Add(new ScreenObj(screen));
}

对于组合框的选定索引更改事件,我有这个:

private void cboScreens_SelectedIndexChanged(object sender, EventArgs e)
{
object o = cboScreens.SelectedItem;
if(null == o)
return;

ScreenObj scrObj = o as ScreenObj;
if(null == scrObj)
return;

Point p = new Point();

p.X = scrObj.screen.WorkingArea.Left;
p.Y = scrObj.screen.WorkingArea.Top;

this.Location = p;
}

它将表单移动到我每个屏幕的左上角。

关于c# - 将表格移动到特定屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8420203/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com