微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以有一个文件控制我可以通过任何形式访问的自定义标题栏的外观?

如何解决是否可以有一个文件控制我可以通过任何形式访问的自定义标题栏的外观?

我有一个具有60多个表单的应用程序,而不是每个表单都具有60个以上相同代码的副本,我希望有一个代码实例可以在加载任何表单时执行。

sub是标准的:
受保护的重写Sub OnFormClosing(ByVal e As FormClosingEventArgs)
受保护的重写Sub OnPaint(ByVal e As PaintEventArgs
受保护的重写Sub OnResize(ByVal e作为System.EventArgs)
受保护的替代子WndProc(由消息作为Bym引用)

我已经使用类和模块进行了无数次尝试,但只能获得经过硬编码以按需工作的表单。

我已经触发了驻留在TitleBar(非表单类)中的OnPaint事件,但是我无法获取TitleBar将任何自定义项应用于任何表单。无论如何,我可以绕过TitleBar的Me和MyBase中的值,并为它们分配调用表单的值吗?还是可以让TitleBar借出其资源?任何帮助将不胜感激。顺便说一句,我要完成的工作有单词还是短语?

这是一轮反复的尝试。
谢谢

解决方法

正常创建表单并添加该通用代码。在您所有其他形式中,继承您刚刚创建的包含通用代码的类,而不是继承标准的Form类。这就是OOP中继承的工作方式。

如果您要从引用的库中继承表单,则可以在 Add New Item 对话框中选择 Inherited Form ,但这不适用于继承同一项目。至少,尽管我没有在库项目中进行测试,但它在应用程序项目中不起作用。替代方法是正常添加表单,在 Solution Explorer 中的工具栏上单击 Show All Files 按钮,展开表单的节点,双击设计器。代码文件以将其打开,然后手动编辑表单继承的类型,例如改变这个:

Partial Class Form2
    Inherits System.Windows.Forms.Form

对此:

Partial Class Form2
    Inherits Form1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。