C# 如何在C中显示类库中的自定义用户控件#
我对使用C# 如何在C中显示类库中的自定义用户控件#,c#,events,C#,Events,我对使用类库编程相当陌生,我认为我的问题有点复杂 我正在开发自己的异常记录器。此异常记录器具有静态例程和函数,因此我不必在其他每个类中声明它。(顺便说一句,这是个好主意吗?:/)每当出现问题时,就会在异常记录器类中调用一个例程。此例程根据我传递给它的数字确定错误消息应该是什么 我的目标如下: 异常记录器应在GUI中触发事件。GUI中的事件随后显示一个定制的消息框,其中包含错误消息。我知道在GUI中用with events声明异常记录器的可能性,但是在exception logger类中没有任何东
类库编程相当陌生,我认为我的问题有点复杂
我正在开发自己的异常记录器。此异常记录器具有静态
例程和函数,因此我不必在其他每个类中声明它。(顺便说一句,这是个好主意吗?:/)每当出现问题时,就会在异常记录器类中调用一个例程。此例程根据我传递给它的数字确定错误消息应该是什么
我的目标如下:
异常记录器应在GUI中触发事件。GUI中的事件随后显示一个定制的消息框,其中包含错误消息。我知道在GUI中用with events
声明异常记录器的可能性,但是在exception logger类中没有任何东西是静态的
编辑1:我正在寻找一种方法,在GUI项目中从类库
中的ExceptionLogger
类触发事件,而不在GUI项目中的每个类中声明类ExceptionLogger
编辑2:让我举个例子。我有一个名为Base
的类库。此类库包含一个名为ExceptionLogger
的类。这个类依次有一个名为Log
的静态例程
因此,我在主项目中有一个名为Base的.dll
作为参考
,名为GUI
。GUI有一个窗体
主窗口
和两个类
名为产品
和客户
我想要的是,例如,类Customer遇到一个错误(通过使用Try…Catch
),并且在Catch部分Base.Log(1)
。ExceptionLogger
中的Log
例程将查找错误消息,并在GUI的main窗口中触发事件,显示用户自制消息框
真正的问题是,如何将此事件从日志
激发到主窗口
编辑3:编辑2中的用户制作的MessageBox
是一个覆盖主窗口的面板,而不是打开的MessageBox窗口。我自己找到了解决方案。欢迎任何评论。tnx已经发送给ppl,ppl评论或发布了答案
这是一个例子,我一直在寻找,它的工作
这是我的DLL(命名空间基):
这是我的主窗口中的代码
:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Base.ExceptionHandler.ShowErrorMessage += ExceptionHandler_ShowErrorMessage;
}
void ExceptionHandler_ShowErrorMessage(object sender, EventArgs e)
{
MessageBox.Show((string)sender);
}
private void Form1_Load(object sender, EventArgs e)
{
Base.ExceptionHandler.test(new EventArgs());
}
}
你的问题我不清楚。你到底有什么问题?获取事件,控件的实际显示(MessageBox?)我正在寻找一种方法,从同一解决方案中类库中的ExceptionLogger
类触发GUI项目中的事件,而不在GUI项目中的每个类中声明类ExceptionLogger。希望这能澄清问题?为什么需要在每个控件中注册它?你的目的是什么?在帖子中添加了更多信息(编辑2)
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Base.ExceptionHandler.ShowErrorMessage += ExceptionHandler_ShowErrorMessage;
}
void ExceptionHandler_ShowErrorMessage(object sender, EventArgs e)
{
MessageBox.Show((string)sender);
}
private void Form1_Load(object sender, EventArgs e)
{
Base.ExceptionHandler.test(new EventArgs());
}
}