C#中怎么设置"动态生成窗体"的位置

我想点击一个按钮,让它动态生成一个窗体,但是怎样才能设置这个动态生成的窗体在屏幕上的位置?已有代码://单击按钮事件privatevoidbutton1_Click(ob... 我想点击一个按钮, 让它动态生成一个窗体, 但是怎样才能设置这个动态生成的窗体在屏幕上的位置?

已有代码:
//单击按钮事件
private void button1_Click(object sender, EventArgs e)
{
Point p = new Point(0, 240);
Form win = new Form();
this.DesktopLocation = p;
win.Show();
}

{
//Form win = new Form();
//win.Width = 200;
//win.Height = 125;
//int q = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Width - 200;
//int w = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Height - 125;
//win.SetDesktopLocation(q, w);
//win.Show();
}
这两种写法都不行, 动态生成的窗体还是随便乱出, 怎么才行?
还请高手赐教, 要有代码啊, 讲的明白些, 不胜感激~!!!!!
展开
 我来答
就烦条0o
推荐于2018-05-10 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46489
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部

修改动太生成窗口的Form.StartPosition 属性,此属性为枚举(FormStartPosition)类型,修改为FormStartPosition.Manual,就可以能过设置新窗体的Location 属性来修改窗口的位置。

            Point p = new Point(200, 100);
            Form win = new Form();
            win.Width = 150;
            win.Height = 50;
            win.Text = "新窗口";
            win.StartPosition = FormStartPosition.Manual;
            win.Location = p;
            win.Show();

效果如下:

MSDN对这个属性有如下说明:

CenterParent 窗体在其父窗体中居中。
CenterScreen 窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。
Manual 窗体的位置由 Location 属性确定。
WindowsDefaultBounds 窗体定位在 Windows 默认位置,其边界也由 Windows 默认决定。
WindowsDefaultLocation 窗体定位在 Windows 默认位置,其尺寸在窗体大小中指定。

个性的鼓手
推荐于2016-10-29 · TA获得超过775个赞
知道答主
回答量:118
采纳率:0%
帮助的人:107万
展开全部
Rectangle screenRect = Screen.PrimaryScreen.WorkingArea;
//Rectangle screenRect = Screen.PrimaryScreen.Bounds;

win.Location = new Point(screenRect.Right - frm.Width, screenRect.Bottom - frm.Height);
win.StartPosition = FormStartPosition.Manual;

win.Show();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式