乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 59|回复: 1

类继承有问题

[复制链接]

7

主题

13

帖子

1

银币

初来乍到

Rank: 1

铜币
41
发表于 2021-10-19 03:33:28 | 显示全部楼层 |阅读模式
我创建了一个包含标签1的表单1。我还创建了一个class1文件。当Form1加载时,startFunction方法将由Form1_Load事件触发。startFunction是一个继承的方法。
  1. namespace MyNameSpace
  2. {
  3.     public partial class Form1 : Form
  4.     {
  5.         public Form1()
  6.         {
  7.             InitializeComponent();
  8.         }
  9.         private void Form1_Load (object sender, EventArgs e)
  10.         {
  11.             StartMethod();
  12.         }
  13.         public void startMethod()
  14.         {
  15.             Class1 ClasInherited = new Class1();
  16.             ClasInherited.ChangeLabelText();
  17.          }
  18. .
  19. .

Class1.cs文件包含ChangeLabelText()方法。
  1. public partial class Class1
  2.     {
  3.     Form1 form1 = new YuzeyAnaliz();
  4.    
  5.      public void ChangeLabelText()
  6.     {
  7.    
  8.      form1.label5.Text = "Text changed";
  9.     }
  10. .
  11. .

但是label5文本不会改变。我错过了一些东西。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2021-10-19 16:39:36 | 显示全部楼层
您正在将另一个窗体“嵌入”到Class1类中,而不是继承Class1。Form1继承自窗体
Class1不继承任何内容,但它确实在其内部创建了一个Form1(封装)
类似的操作应该可以:
公共类Form1:form
{
public Form1()//构造函数,如果需要,可以在这里初始化所有内容,而不是_Load。
{
初始化组件()
//您也可以在此处更改文本。
}
私有void Form1_Load(对象发送者,事件参数e)
{
<div>//_Load适用于加载外部数据,例如在加载表单时加载保存的设置。</div>
StartMethod()
//或者只在这里更改文本,不需要StartMethod():
//this.lable5.Text=“文本已更改”
}
公共void StartMethod()
{
this.lable5.Text=“文本已更改”
}
}
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 01:16 , Processed in 0.141580 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表