怎么运行控件:C#实现运行期Control控件设计

  1、实现了Control控件自由拖动

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

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

  以下是部分代码

private void button2_Click(object sender, EventArgs e)  
{  
  //Control控件框显示和隐藏  
   (panel1.Visible true)  
  {  
    button2.Text = "+ Control控件框";  
    panel1.Visible = false;  
  }  
   
  {  
    button2.Text = "- Control控件框";  
    panel1.Visible = true;  
  }  
} 
  
private void button3_MouseDown(object sender, MouseEventArgs e)  
{  
  //判断鼠标左键按下  
   (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(".Windows.Forms.Button"));  
  Button btn_ = Button;  
  btn_.ContextMenuStrip = contextMenuStrip1;  
  btn_.Name = btn_.Text = btn.Text + "--" + name;  
  btn_.Left = PoToClient(MousePosition).X-panel4.Left;  
  btn_.Top = PoToClient(MousePosition).Y - panel4.Top;  
  //加载事件  
  btn_.Click .EventHandler(this.button1_Click);  
  btn_.MouseLeave .EventHandler(this.button1_MouseLeave);  
  btn_.MouseDown .Windows.Forms.MouseEventHandler(this.button1_MouseDown);  
  btn_.MouseMove .Windows.Forms.MouseEventHandler(this.button1_MouseMove);  
  btn_.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)  
{  
  //判断鼠标左键按下  
   (e.Button MouseButtons.Left)  
  {  
    Button btn = (Button)(sender);  
    //化拖放操作  
    btn.DoDragDrop(btn, DragDropEffects.Copy);  
  }  
} 
  
private void toolStripMenuItem2_Click(object sender, EventArgs e)  
{  
  //释放Control控件  
  btnflag.Dispose;  
}  
 
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)  
{  
  btnflag.Text = textBox1.Text;  
}  
 
private void textBox1_KeyDown(object sender, KeyEventArgs e)  
{  
  //响应回车  
   (e.KeyValue 13)  
    btnflag.Text = textBox1.Text;  
 
}  
 
private void button7_Click(object sender, EventArgs e)  
{  
  //Control控件框显示和隐藏  
   (groupBox1.Visible true)  
  {  
    button7.Text = "+ 属性窗口";  
    groupBox1.Visible = false;  
  }  
   
  {  
    button7.Text = "- 属性窗口";  
    groupBox1.Visible = true;  
  }  
}


  实现效果图如下



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

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

Tags:  3d控件 flash控件 activex控件 怎么运行控件

延伸阅读

最新评论

发表评论