我们给c#动态设置位置时常常按编程常理来设置,如设置的axWindowsMediaPlayer3控件的位置及大小,用经验的方法:
axWindowsMediaPlayer3.Location.X = 0;(左)
axWindowsMediaPlayer3.Location.Y = 300;(右)
axWindowsMediaPlayer3.Size.Width = 400;(宽)
axWindowsMediaPlayer3.Size.Height = 300;(高)
以上是错误的,编辑时就会出现:“System.Windows.Forms.Control.Location”的返回值,因为它不是变量"
“System.Windows.Forms.Control.Size”的返回值,因为它不是变量"
正确的方法是:
axWindowsMediaPlayer3.Location = new System.Drawing.Point(0,0);
axWindowsMediaPlayer3.Size = new System.Drawing.Size(400,300);
需求:1.点击控件,产生窗体,
2。窗体上要有控件(包括大小的设置,位置等等)
3.控件要能有事件的响应
解决步骤:1)创建窗体
2)创建控件
3)设置控件属性(大小位置等)
4)设置控件事件(//用代码动态连接事件,包括定义改事件)
5)将控件添加至窗体
6)显示窗体
private void button6_Click(object sender, EventArgs e)
{
Form MySplanshForm = new Form(); //1
ListBox lb = new ListBox();//2
lb.Location = new Point(100, 100);//3
lb.Size = new Size(100, 100);//3
MySplanshForm.Controls.Add(lb);//添加控件
Button btn = new Button();
btn.Text = "你好";
btn.Click += new EventHandler(myClick);//用代码动态连接事件//4
MySplanshForm.Controls.Add(btn);//添加控件//5
MySplanshForm.ShowDialog();//6
}
public void myClick(object sender, EventArgs e)
{
MessageBox.Show("你好");
}
方法二,这种方法是个人觉得更加简便,主要另外一个窗体上面的控件可以直接拖动来实现,而无需向上面的方法那样,要用代码来设置这个个窗体上的控件的大小,位置等属性。
http://jingyan.baidu.com/article/67508eb4e0efd39ccb1ce465.html
在这种方法下,对于新建窗体上控件的事件,只需要直接双击,在事件函数中直接写就好。无需用//用代码动态连接事件//4,个人推荐方法二,感觉简单。