在我的 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 项目。
关于c# - 从类库中设置焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13111246/