You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# Winforms如何在右键点击事件中打开已创建的自定义窗体

Winforms 右键触发打开新窗体实现方法

你只需要先实例化目标窗体对象,再调用对应打开方法即可,具体实现逻辑如下:

  • 首先确认目标窗体类名:你提到的StartSingularity.cs对应的窗体类默认就是StartSingularity,如果创建窗体时修改过类名,替换为实际类名即可。
  • 根据需求选择窗体打开模式:
    • 非模态打开:新窗体弹出后仍可操作原父窗体,调用实例的Show()方法
    • 模态打开:必须关闭新窗体后才能操作原父窗体,调用实例的ShowDialog()方法
  • 注意你现有代码存在语法错误:事件定义里sender EventArgs e中间缺少逗号,需要修正为object sender, EventArgs e

修正后的完整代码参考:

private void openBlackHoleSingularity_Click(object sender, EventArgs e)
{
    bool failed = false;

    // 此处替换为你实际的失败判断逻辑,比如资源校验、状态判断等
    if (failed)
    {
        MessageBox.Show(this, "Need more Antimatter!");
        return;
    }

    // 实例化你提前设计好的新窗体
    StartSingularity singularityForm = new StartSingularity();
    // 非模态打开用这行
    singularityForm.Show();
    // 如果需要模态打开,注释掉上面的Show(),改用下面这行即可
    // singularityForm.ShowDialog();

    // 如果需要指定当前窗体为新窗体的所有者,可以传this参数,比如singularityForm.Show(this);
}

补充说明:只要你已经把这个Click事件和对应右键菜单项的点击事件正确绑定,运行后右键点击对应菜单选项就会触发这段逻辑完成窗体打开,不需要额外调用其他特殊方法。

内容的提问来源于stack exchange,提问作者SomeKindaHooty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 01:24:23