无法更改 Windows 窗体中的标签 [关闭]

问题描述 投票:0回答:1

我正在尝试更改主窗体上的标签。

这里有个方法是把标签上的数字减1,貌似是在做,但是再次运行时用的是原来的数字,而不是减去的数字(消息框只是为了显示数字是多少,它在“LATER COKE”处变为减去的数字):

public static int cokehold(int coke)
{
    frm1 cokeform = new frm1();
    coke = int.Parse(cokeform.lblcokenum.Text);
    MessageBox.Show(cokeform.lblcokenum.Text);
    MessageBox.Show("" + coke);
    coke = coke - 1;
    MessageBox.Show("" + coke + "LATER COKE");
    cokeform.lblcokenum.Text = coke.ToString();
    MessageBox.Show(cokeform.lblcokenum.Text + "FORM");
    MessageBox.Show("" + coke + "COKE");
    return coke;
}

这里是按钮点击甚至开始减法:

private void btncoke_Click(object sender, EventArgs e)
{
    int cokehere = 0;
    cokehere = cokehold(cokehere);
    lblcokenum.Text = cokehere.ToString();
    //MessageBox.Show(lblcokenum.Text + "AHHH");
    //MessageBox.Show(lblcokenum.Text + "BETTER WORK");
}

在第一段代码中,您可以看到我尝试启动 frm1 的实例,以便我可以与方法中的标签进行交互,它允许我对其进行编辑,但现在它不会低于初始数字减 1。

c# methods label
1个回答
1
投票

对于你的第一个问题, 再次运行程序时,它会再次编译。你可以把它比作

gcc myfile.c
./a.out

您必须将该信息存储在文件中。

第二个问题:

  • 一开始这里定义的变量是不需要的
int cokehold(int coke) // <-- The int coke parameter can be removed.

那你得定义一个,我想你可以做到这一点。 (

int coke = 0;
)

数字不在

-1
下的问题应该这样解决:

var fmt = new NumberFormatInfo();
fmt.NegativeSign = "−";
int number = int.Parse(climateString, fmt);  

希望这对您有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.