VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > C#教程 >
  • C#实现运行期控制设计

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

  1、实现了控件自由拖动

  2、实现了控件的拖动创建,右键删除等类似IDE的控件创建,当然更多功能靠大家自己完善

  3、实现属性框与控件的绑定,可以在运行期修改控件的Text...

  以下是部分代码

private void button2_Click(object sender, EventArgs e)  
{  
  //控件框的显示与隐藏  
  if (panel1.Visible == true)  
  {  
    button2.Text = "+ 控件框";  
    panel1.Visible = false;  
  }  
  else 
  {  
    button2.Text = "- 控件框";  
    panel1.Visible = true;  
  }  
} 
  
private void button3_MouseDown(object sender, MouseEventArgs e)  
{  
  //判断鼠标左键按下  
  if (e.Button == MouseButtons.Left)  
  {  
    Button btn = (Button)(sender);  
    //初始化拖放操作。  
    btn.DoDragDrop(btn, DragDropEffects.Copy);  
  }  
}  
 
private void panel4_DragDrop(object sender, DragEventArgs e)  
{  
  //开始拖动  
  Button btn = (Button)(e.Data.GetData("System.Windows.Forms.Button"));  
  Button btn_new = new Button();  
  btn_new.ContextMenuStrip = contextMenuStrip1;  
  btn_new.Name = btn_new.Text = btn.Text + "--" + name;  
  btn_new.Left = PointToClient(MousePosition).X-panel4.Left;  
  btn_new.Top = PointToClient(MousePosition).Y - panel4.Top;  
  //加载事件  
  btn_new.Click += new System.EventHandler(this.button1_Click);  
  btn_new.MouseLeave += new System.EventHandler(this.button1_MouseLeave);  
  btn_new.MouseDown += new System.Windows.Forms.MouseEventHandler(this.button1_MouseDown);  
  btn_new.MouseMove += new System.Windows.Forms.MouseEventHandler(this.button1_MouseMove);  
  btn_new.Parent = panel4;  
  name++;  
} 
  
private void panel4_DragEnter(object sender, DragEventArgs e)  
{  
  e.Effect = DragDropEffects.Copy;  
}  
 
private void button1_Click(object sender, EventArgs e)  
{  
  groupBox1.Text = (sender as Button).Name + "属性";  
  textBox1.Text = (sender as Button).Text;  
 
}  
 
private void button4_MouseDown(object sender, MouseEventArgs e)  
{  
  //判断鼠标左键按下  
  if (e.Button == MouseButtons.Left)  
  {  
    Button btn = (Button)(sender);  
    //初始化拖放操作。  
    btn.DoDragDrop(btn, DragDropEffects.Copy);  
  }  
} 
  
private void toolStripMenuItem2_Click(object sender, EventArgs e)  
{  
  //释放控件  
  btnflag.Dispose();  
}  
 
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)  
{  
  btnflag.Text = textBox1.Text;  
}  
 
private void textBox1_KeyDown(object sender, KeyEventArgs e)  
{  
  //响应回车  
  if (e.KeyValue == 13)  
    btnflag.Text = textBox1.Text;  
 
}  
 
private void button7_Click(object sender, EventArgs e)  
{  
  //控件框的显示与隐藏  
  if (groupBox1.Visible == true)  
  {  
    button7.Text = "+ 属性窗口";  
    groupBox1.Visible = false;  
  }  
  else 
  {  
    button7.Text = "- 属性窗口";  
    groupBox1.Visible = true;  
  }  
}

  实现的效果图如下

C#实现运行期控件设计

  更多功能当然需要大家自己扩展,假如你有兴趣...

  欢迎大家光临MC编程网和我进行编程技术的探讨...



相关教程