gpt4 book ai didi

Winforms 应用程序模板

转载 作者:行者123 更新时间:2023-12-02 03:55:49 24 4
gpt4 key购买 nike

我正在尝试使用通用模板创建一个 Winforms 应用程序,即所有表单都将继承一个预定义模板,用于新建、保存、编辑、删除按钮和一些通用图像以及我将手动放置的继承表单的其余内容。

如有任何关于如何实现这一目标的建议,我们将不胜感激。

最佳答案

我会创建一个新的表单作为类似模板的表单并强制它实现一个接口(interface),在我下面的示例中我将该接口(interface)命名为 IApplicationWindow,并声明了常用的方法由子类实现。

除了您提到的常用控件外,我还将在类似模板的表单中放置所有应该在所有窗口中常用的东西,例如日志记录帮助类等。

假设我们已经定义了一个名为 IApplicationWindow 的接口(interface),一个类似模板的表单将如下所示:

public partial class TemplateForm : Form, IApplicationWindow
{
// Place here as protected class members all object instances
// that are common to all your forms, like helper class for logging
// purposes or security delegates.
[...]

public TemplateForm()
{
InitializeComponent();
}

#region IApplicationWindow interface implementation

public virtual void Save()
{
// Do nothing unless you need common behavior.
// Leave extenders implement the concrete behavior.
}

public virtual void Edit()
{
// Do nothing unless you need common behavior.
// Leave extenders implement the concrete behavior.
}

[...]

#endregion
}

这就是扩展您的类似模板的表单的样子(请注意,您必须覆盖方法以提供特定的实现):

public partial class AnApplicationWindow : TemplateForm
{
public AnApplicationWindow()
{
InitializeComponent();
}


public override void Save()
{
base.Save();
// Implement specific behavior here
}

public override void Edit()
{
base.Edit();
// Implement specific behavior here
}

[...]

}

最后,我会小心地将通用控件放置在模板表单的 UI 中,这样如果您调整扩展表单的大小,控件就会被正确放置(正确使用 anchor )。

关于Winforms 应用程序模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12671723/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com