怎样让c#中的程序在设计模式下进行调试执行
怎样让c#中的程序在设计模式下进行调试执行
在设计系统时,一般需要运行中进行调试执行,我记得过去看过一个在设计模式下就可以执行Button_Click事件下的例子。
请大虾能能否指点下,或给个例子
Tks!
------解决方案--------------------
You need to override the designer's GetHitTest() method, so the designer can route the click event to your control:
C# code
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.Design; //<---
namespace WindowsFormsApplication1
{
[Designer(typeof(MyDesigner))] //<---
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if( this.DesignMode )
{
MessageBox.Show("Click in design mode");
}
}
}
class MyDesigner : ControlDesigner
{
protected override bool GetHitTest(Point point) //<---
{
point = this.Control.PointToClient(point);
foreach (Control c in this.Control.Controls)
{
if (c.Bounds.Contains(point))
{
return true;
}
}
return base.GetHitTest(point);
}
}
}
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
实际上可以不用F5就可以调试滴
可以直接在即时窗口里,动态new一个对象,然后就可以直接调用这个对象的方法
不过这种东西对无界面的纯逻辑代码比较好,而带事件的UI,这种方式就有问题了,因为少了鼠标交互,所以一些与客户交互性的代码比较难验证
------解决方案--------------------
仔细看了下,代码目的不一样,再试了下,你的代码是对的。。。。