跨表单的继承类

Posted

技术标签:

【中文标题】跨表单的继承类【英文标题】:Inheritance classes across Form 【发布时间】:2022-01-16 00:31:33 【问题描述】:

首先对不起我的英语。

有什么方法可以在我的 Form 类中跨方法继承类?我确实有名为 Karta.cs 的类,我想在 Form1_Load 和 Form1_Click 中使用相同的数据。现在我正在使用 karta = new Karta();在这两种方法中,但这并不能解决我的问题,因为如果我在 karta 中更改 Form1_Load 中的一些数据,然后我将尝试在 karta1_click 中使用 karta,那么这些更改将不会存在。有什么方法可以插入 karta = new Karta();某个地方,所以每个方法都可以看到使用它?谢谢。

namespace Mravenci

    public partial class Hra : Form
    
        public Hra()
        
            InitializeComponent();
    

        private void Form1_Load(object sender, EventArgs e)
        
            Karta karta;
            karta = new Karta();

            karta.NastavKarty(karta.ZamichejKarty());
            karta.ZobrazKartyStart(karta1, karta2, karta3, karta4, karta5, karta6, karta.VratKarty());
        

        private void karta1_Click(object sender, EventArgs e)
        
            Karta karta;
            karta = new Karta();

            karta.HrajKartu(1,posledniKarta);
            
        
    

【问题讨论】:

【参考方案1】:

试试这个

public partial class Hra : Form
    
       Karta karta = new Karta();

        public Hra()
        
            InitializeComponent();
        

        private void Form1_Load(object sender, EventArgs e)
        
          
            karta.NastavKarty(karta.ZamichejKarty());
            karta.ZobrazKartyStart(karta1, karta2, karta3, karta4, karta5, karta6, karta.VratKarty());
        

        private void karta1_Click(object sender, EventArgs e)
        
          
            karta.HrajKartu(1,posledniKarta);
            
        
    

【讨论】:

天哪,它有效。 ...我以为我什么都试过了,即使是这个。但似乎我没有。谢谢。 不客气。

以上是关于跨表单的继承类的主要内容,如果未能解决你的问题,请参考以下文章

跨模块继承一个类?

跨 CommonJS 模块的 Typescript 继承 - 循环依赖

你能从继承普通表单的自定义表单继承吗

继承链中类实例变量的初始值

让MAUI页面继承表单自定义基类

使用 Visual Studio 2010 继承 Windows 窗体类