我有一个表格类
partial class ProgressMainForm : Form
{
public ProgressMainForm()
{
InitializeComponent();
}
}
然后是一个使用该类并包含用户的所有功能的类
public class ProgressForm
{
public ProgressMainForm myProgressForm;
public ProgressForm(string title)
{
myProgressForm = new ProgressMainForm();
myProgressForm.Text = title;
}
public void SetProgressBar(int min, int max)
{
....
}
然后我在我的项目中使用这个 ProgressForm 类,如下所示
progresswindow = new ProgressForm("Replacing All Strings");
这边走progresswindow
仅包含与功能相关的成员ProgressForm
所有这些表单成员对用户都是隐藏的。
但有时我需要访问这些表单成员,例如当我需要时Invoke
method.
有没有办法制作myProgressForm
in ProgressForm
用户无需创建即可访问ProgressMainForm
public?
或者说这种做法是错误的?
我认为您不应该直接使用表单。如果我正确地阅读了您的设置,您希望在完成某些工作时显示进度指示器。 ProgressForm 应该公开设置计数器并递增它们的方法;当您在另一个线程上运行它时,表单操作应该从 ProgressForm 的方法内部完成。您的调用属于那里,并用合适的方法包装。如果您想更改 ProgressMainForm 的某些视觉属性,请将这些属性中继到 ProgressForm。
要恢复,调用代码除了设置进度边界、开始、设置当前百分比和停止之外,不应该知道 ProgressForm 做了什么。这样,如果您被要求将应用程序移植到另一个 UI 系统,您需要更改的代码量将大大减少。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)