在我的 C# (3.5) 解决方案中,我有 2 个项目 - 一个类库和 WinForm 项目。
所有业务逻辑都在类库中。在从 WinForm 添加/更新数据时,如果类库发现任何错误,它将引发错误并设置焦点以关联 WinForm 中的控件。
是否可以?
谢谢,SK保罗。
在我的 C# (3.5) 解决方案中,我有 2 个项目 - 一个类库和 WinForm 项目。
所有业务逻辑都在类库中。在从 WinForm 添加/更新数据时,如果类库发现任何错误,它将引发错误并设置焦点以关联 WinForm 中的控件。
是否可以?
谢谢,SK保罗。
所有 UI 逻辑都应保留在您的 WinForm 项目中。您必须将控制权传递给类库以从库中设置焦点,这主要是一个糟糕的设计。反而:
namespace ClassLibrary
{
public class Utility
{
public static string ReadData()
{
return "abc";
}
}
}
namespace Win_App
{
public partial class Form1 : Form
{
private void button2_Click(object sender, EventArgs e)
{
if (ClassLibrary.Utility.ReadData() == null)
{
MessageBox.Show("error, redo");
button2.Focus(); //you should handle this here.
return;
}
}
}
}
这里的基本思想是在发生错误时发出适当的返回值。例如,对象的 null 值,或 bool 值的 false。你应该在 UI 项目中检查它,并在那里处理它。因此,在您的情况下,设置焦点应该来自 WinForm 项目。