非静态字段、方法或属性需要对象引用吗?

2023-12-22

我知道这可能是一个非常新的问题,所以我很抱歉。

我正在尝试从另一个表单 MaxScore 访问 Form1 上标签的 Text 属性。

当我单击 MaxScore 上的“确定”按钮时,我想使用 max.ToString() 将 Form1 的 myGameCountLbl.Text 设置为 Form1 的变量 max。

这是我在 MaxScore 的“确定”按钮事件中的代码:

private void okBtn_Click(object sender, EventArgs e)
{
    Form1.myGameCountLbl.Text = Form1.max.ToString();
    Form1.compGameCountLbl.Text = Form1.max.ToString();
}

但是当我去编译它时,我收到错误:

非静态字段、方法或属性“Towergame_2.Form1.myGameCountLbl”需要对象引用

对于 Towergame_2.Form1.max 和 Towergame_2.Form1.compGameCountLbl,我收到相同的错误。

不太确定如何解决这个问题。 Max 是一个公共变量,两个标签也是公共的。

Thanks!

这是我的构造函数中的代码(感谢 lassevk 提供的代码!):

public Form1()
{
    //initialize vars
    myHp = 100;
    compHp = 100;
    youWon = 0;
    compWon = 0;
    money = 100;
    canCompAttack = true;
    gameOver = false;

    //show HowToPlay Dialogue
    HowToPlay howToPlay = new HowToPlay();
    howToPlay.ShowDialog();

    using (MaxScore maxScore = new MaxScore())
    {
        maxScore.MainForm = this;
        maxScore.ShowDialog();
    }

    InitializeComponent();
}

Form1 是班级名称吗?

您需要引用表单类的实例。

Since okBtn不在同一张表格上,您需要提供MaxScore形成一个参考Form1实例。

例如,您可以将其添加到您的MaxScore form:

public Form1 MainForm { get; set; }

然后在你的okBtn_Click方法,你会这样写:

private void okBtn_Click(object sender, EventArgs e)
{
    MainForm.myGameCountLbl.Text = MainForm.max.ToString();
    MainForm.compGameCountLbl.Text = MainForm.max.ToString();
}

然后当你构建时MaxScore from Form1(我假设这就是你正在做的事情):

using (MaxScore scoreForm = new MaxScore())
{
    scoreForm.MainForm = this;
    scoreForm.ShowDialog();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

非静态字段、方法或属性需要对象引用吗? 的相关文章

随机推荐

  • 导入错误:没有名为 datetime 的模块

    当我将 Ubuntu 从 12 04 升级到 14 04 时 这次出现以下错误 ImportError No module named datetime 当我创建 virtualenv 然后从 12 04 升级到 14 04 时 就发生了这
  • Inkscape 命令行:需要将 SVG 转换为 eps,无需滤镜光栅化

    我需要将 SVG 转换为 EPS 目前使用 inkscape 来执行此操作 要使用 Inkscape GUI 版本转换 SVG 我只需打开 svg 然后 另存为 logo eps 取消选择 光栅化滤镜效果 选项 但是 我想使用命令行自动执行
  • Spring JDBC:如何创建表?

    我正在使用春天JdbcTemplate使用 DAO 模式来访问数据库 我正在寻找一种在 DAO 层中生成表的方法 而不是手动创建数据库表 我明白我可以使用JdbcTemplate要执行语句 我只是在寻找正确的位置来执行它 有没有最佳实践 您
  • IntelliJ可以在同一个tomcat实例上调试两个war文件吗?

    我有两个 Web 应用程序 每个应用程序都会生成一个 war 文件 有时我需要同时运行和调试它们 我今天实现这一目标的方法是在 tomcat 6 的端口 8080 上运行项目 A 在 tomcat 7 的端口 8181 上运行项目 B 我有
  • 如果 getter 抛出异常,如何让 Jackson 忽略属性

    我有很多来自供应商的类 它们喜欢在属性访问时随机抛出运行时异常 public Object getSomeProperty if someObscureStateCheck throw new IllegalStateExcepion re
  • C++ 中优先级队列的时间复杂度

    创建堆需要O n 插入堆 或优先级队列 所需的时间O log n time 获取 n 个输入并将它们插入优先级队列 该操作的时间复杂度是多少 O n 或 O n log n 另外 如果也清空整个堆 即 n 删除 也会得到相同的结果 对吗 如
  • 如何使用 pack 或 grid 实现以下 Tkinter GUI 布局?

    这是我当前的跳棋游戏 GUI 布局 正如您所看到的 它由顶部的菜单 左侧的画布 用于绘制棋盘 右上角的工具栏 框架 其中有各种格式 导航按钮 以及使用的文本小部件组成 来注释动作 目前 我正在为小部件使用网格布局 这是我需要做的 当文本量大
  • ReferenceEquals(variable, null) 与variable == null 相同吗?

    基本上就是标题 我在我正在编写的代码中看到很多前者 我想知道为什么他们不使用后者 两者之间有什么区别吗 Thanks 直接来自文档 http msdn microsoft com en us library system object re
  • 适用于 Windows 8 RTM 的 Microsoft Advertising SDK 导致访问被拒绝错误

    请注意以下事项 我有 Windows 8 RTM 我有 Visual Studio 2012 RTM 我有 Microsoft Advertising SDK RTM 我所做的就是 添加对它的引用 错误 System Unauthorize
  • App Engine 数据存储上的 Spring Security ACL

    我们将 Spring Security ACL 基础设施与 App Engine 数据存储结合使用 我们不使用低级数据存储 API 而是使用 Objectify 框架来访问数据存储 我们需要将Spring Security ACL模型 适用
  • 通过 php exec 函数传递 $_SERVER 数组[重复]

    这个问题在这里已经有答案了 可能的重复 安全执行shell脚本 执行前转义变量 https stackoverflow com questions 2624616 safe executing shell scripts escaping
  • 谷歌地图API带有信息窗口的多个标记

    我刚刚开始接触谷歌地图 API 我正在尝试在地图上绘制几个标记 完毕 然而 我正在为每个标记回收一个变量 对象 我最初使用选项创建标记并添加到地图 然后采用相同的标记变量 重新调整其用途 然后再次将其添加到地图 这确实会产生两个带有单独标题
  • 你将如何在 C# 中构建这个 xml

    我需要生成这个看起来简单的 XML 寻找一种干净的方法来生成它
  • 从 NPM 包中导出多个模块

    我有一个相当大的项目 A 使用 Node 和 Typescript 在项目 A 中 我有很多不同的模块 我想在另一个项目 B 中重用它们 因此我用这个 tsconfig json 构建了项目 A compilerOptions target
  • Android 应用内计费 - 从服务器检索信息时出错

    我在应用程序计费中使用 Android 来进行应用程序内购买 在极少数情况下 我的许多用户都会报告此错误 从服务器检索信息时出错 RPC S 7 AEC 0 这是在生产中发生的 而不是在测试中发生的 我无法在本地重现此内容以进行调试 这个错
  • ArrayDeque类的addFirst方法

    java util ArrayDeque类中addFirst方法的代码是 public void addFirst E e if e null throw new NullPointerException elements head hea
  • 使用 1-1 函数从 id 生成代码

    有没有好的可逆 1 1 函数将一个整数映射到另一个整数 例如 给定范围 0 5 我想找到一个映射的 0 gt 3 1 gt 2 2 gt 4 3 gt 5 4 gt 1 5 gt 0 此外 映射应该看起来是随机的 您可以按升序填充数组并对其
  • 使用 Laravel 查询生成器和 LEFT JOIN 删除行

    如何在一个查询中从多个表中删除行 使用左连接 查询 DELETE deadline job FROM deadline LEFT JOIN job 所以 我尝试这样 DB table deadline job gt leftJoin job
  • 下载文件时显示“请稍候”消息或进度条

    我使用以下 WordPress 管理员通知来提示用户下载一些文件 我想在下载文件时包含一个进度条或至少包含一个 正在下载 请稍候 消息 有任何想法吗 我已经尝试了几种 jQuery 解决方案 但没有任何效果 对于 jQuery 我完全是个菜
  • 非静态字段、方法或属性需要对象引用吗?

    我知道这可能是一个非常新的问题 所以我很抱歉 我正在尝试从另一个表单 MaxScore 访问 Form1 上标签的 Text 属性 当我单击 MaxScore 上的 确定 按钮时 我想使用 max ToString 将 Form1 的 my