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();
}
这两种写法都不行, 动态生成的窗体还是随便乱出, 怎么才行?
还请高手赐教, 要有代码啊, 讲的明白些, 不胜感激~!!!!! 展开
已有代码:
//单击按钮事件
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();
}
这两种写法都不行, 动态生成的窗体还是随便乱出, 怎么才行?
还请高手赐教, 要有代码啊, 讲的明白些, 不胜感激~!!!!! 展开
2个回答
展开全部
修改动太生成窗口的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 默认位置,其尺寸在窗体大小中指定。
展开全部
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();
//Rectangle screenRect = Screen.PrimaryScreen.Bounds;
win.Location = new Point(screenRect.Right - frm.Width, screenRect.Bottom - frm.Height);
win.StartPosition = FormStartPosition.Manual;
win.Show();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询