拜托高手们救急!!

yxp233 2009-02-04 03:16:51
我想确定一个Form的初始位置为屏幕的中央,请问怎么编写code?我的code是:

public Form1()
{
InitializeComponent();
StartPosition = FormStartPosition.Manual;
Location = new Point(200, 200);
}
...全文
96 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
csjtxy 2009-02-25
  • 打赏
  • 举报
回复
晕得很呢,我整个解决方案都给你实现了,就5分?
yuloukong 2009-02-06
  • 打赏
  • 举报
回复
up
csjtxy 2009-02-06
  • 打赏
  • 举报
回复
   public partial class Form1 : Form
{
Form2 form = new Form2();

//Form1关闭时Form2会随之关闭
public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterScreen; //在中央显示
form.fform1 = this;
form.Location = new Point(this.Left + this.Width, this.Top);//根据当前窗体(Form1)的移动而移动
form.Show();
}

protected override void WndProc(ref Message m)
{
const int WM_MOVE = 0x3;

if (m.Msg == WM_MOVE)
form.Location = new Point(this.Width, this.Top);

base.WndProc(ref m);
}
}



public partial class Form2 : Form
{
public Form1 fform1;

public Form2()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterScreen;//在中央显示
}

//Form2关闭时,获取Form1的引用,转换为关闭Form1
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Form1 form1 = (Form1)this.fform1;
form1.Close();
}

protected override void WndProc(ref Message m)
{
const int WM_MOVE = 0x3;
if (m.Msg == WM_MOVE)
fform1.Location = new Point(this.Width, this.Top);//根据当前窗体(Form2)的移动而移动

base.WndProc(ref m);
}
}
yxp233 2009-02-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jinjazz 的回复:]
类似


C# codeForm2 frm = new Form2();
public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterScreen;
frm.Location = new Point(this.Left + this.Width, this.Top);
frm.Show(this);
}


protected override void WndProc(ref Message m)
{
const int WM_MOVE =…
[/Quote]

这个是当移动Form1的时候Form2跟着移动,如果我想移动Form2的时候Form1也跟着移动呢?
jinjazz 2009-02-04
  • 打赏
  • 举报
回复
类似

Form2 frm = new Form2();
public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterScreen;
frm.Location = new Point(this.Left + this.Width, this.Top);
frm.Show(this);
}


protected override void WndProc(ref Message m)
{
const int WM_MOVE = 0x3;

if (m.Msg == WM_MOVE)
frm.Location = new Point(this.Left + this.Width, this.Top);

base.WndProc(ref m);
}
yxp233 2009-02-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 du9232 的回复:]
1、Form2听Form1 LocationChanged事件
2、Form2听Form1 Closed事件
[/Quote]

谢谢,能不能告诉我code阿?
du9232 2009-02-04
  • 打赏
  • 举报
回复
1、Form2听Form1 LocationChanged事件
2、Form2听Form1 Closed事件
yxp233 2009-02-04
  • 打赏
  • 举报
回复
兄弟姐妹们请看4楼的新问题,谢谢了!
yxp233 2009-02-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jinjazz 的回复:]
C# codepublic Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterScreen;
}
[/Quote]

多谢了!另外我还想请教一下,我建了两个Form,Form1和Form2。我把这两个Form的初始位置都设成CenterScreen,除此之外我想实现用鼠标拖动其中一个Form时另一个Form也同步动,关掉其中一个Form时,另一个Form也被关掉。不知道能不能这样,如果能的话,具体怎么操作呢?
zgke 2009-02-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jinjazz 的回复:]
C# codepublic Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterScreen;
}
[/Quote]


就是这个~~
dsr456 2009-02-04
  • 打赏
  • 举报
回复
StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
jinjazz 2009-02-04
  • 打赏
  • 举报
回复
public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterScreen;
}

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧