【问题标题】:C# -> Windows Form New Window Show TroubleC# -> Windows 窗体新窗口显示问题
【发布时间】:2017-10-23 06:03:43
【问题描述】:

我正在尝试使用 Windows 窗体创建一个新窗口,但出现此错误:

" 'whichDiceGameForm' 不包含对 'show' 的定义,并且没有可以找到接受类型为 'whichDiceGameForm' 的第一个参数的扩展方法 'show'(您是否缺少 using 指令或程序集引用?)"

       public partial class mainForm : Form
{
    public mainForm()
    {
        InitializeComponent();
    }

    private void label1_Click(object sender, EventArgs e)
    {

    }

    private void mainForm_Load(object sender, EventArgs e)
    {
        title.Font = new Font("Arial", 10, FontStyle.Bold);

    }

    private void startButton_Click(object sender, EventArgs e)
    {
        radioDice.Tag = new whichDiceGameForm();
        radioCard.Tag = new whichCardGame();

        mainForm f = null;
        if (radioDice.Checked)
            f = new whichDiceGameForm();
        else
          if (radioCard.Checked)
            f = new whichCardGame();

        f.Show();
    }

    }

EDIT* 这里是 whichDiceGameForm 代码:​​

    public partial class whichDiceGameForm : Form
{
    public whichDiceGameForm()
    {
        InitializeComponent();
    }

    private void whichDiceGameForm_Load(object sender, EventArgs e)
    {

    }
}

【问题讨论】:

  • 给我们看看whichDiceGameForm的代码怎么样?因为显然你从来没有给它一个显示功能。你有没有像mainForm一样正确地继承它?
  • show() 和 Show() 是不同的,以防你雪盲;)
  • @Christopher 我刚刚添加了它。
  • @FortyTwo 天哪,我真是瞎了哈哈哈哈哈
  • 智能感知有助于避免此类错误

标签: c# winforms new-window


【解决方案1】:

你用小写写了“show”。第一个字母应为大写:“Show”

更重要的是你打破了语言约定(小写的类名,以大写开头的局部变量......)

【讨论】:

  • 你知道如何在普通单选点击事件中启用按钮吗?
  • 是的。 startButton.Enabled = 真。你这样做。但是你把它分成两种方法。所有两个收音机都应该有共同的 Click 或 Changed 事件。你知道什么是“发件人”吗?
  • 不,我有点困惑,我会更新我发布的代码以显示我所拥有的。问题是我需要将两个单选框都设置为未选中。
  • Sender 参数为您提供使事件发生的对象。因此,例如在您的方法中:radioDice_CheckedChanged 发件人参数是 radioDice。现在,如果您有一个方法和两个收音机,那么“sender”参数将为您提供使事件触发的收音机。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多