【问题标题】:C# Winforms: can't create window using system.windowsC# Winforms:无法使用 system.windows 创建窗口
【发布时间】:2019-04-02 19:44:50
【问题描述】:

这个问题和this one很像,但是我在任何地方都找不到合适的答案。 基本上,我正在尝试创建一个新窗口来显示用户控件,但它不起作用,它显示一个错误,指出找不到类型或命名空间“Window”。我已经实现了using System.Windows;。 代码如下所示:

private void settB_Click(object sender, EventArgs e)
    {
        Window window = new Window
        {
            Title = "My User Control Dialog",
            Content = new qlSetting(),
            ResizeMode = ResizeMode.NoResize
        };
        window.ShowDialog();
    }

【问题讨论】:

  • 您为什么要尝试从 Windows 窗体应用程序打开 WPF 窗口?
  • 哦,你是对的......我现在感觉很愚蠢。我没有意识到我看到这段代码的线程是关于 WPF 的。
  • 是的,要求那个人从未将其标记为 WPF,所以这有点令人困惑。窗口 = WPF,窗体 = Windows 窗体。
  • 感谢您的澄清!
  • 没有问题。您是否还需要关于如何执行此操作的答案?

标签: c# .net winforms namespaces user-controls


【解决方案1】:
private void settB_Click(object sender, EventArgs e)
{
    using (Form window = new Form())
    {
        qlSetting ql = new qlSetting();
        ql.Dock = DockStyle.Fill;
        window.Controls.Add(ql);
        window.ShowDialog();
    }
}

【讨论】:

  • 这几乎是完美的,有没有办法只显示用户控件,当点击一个按钮时它会返回表单?
  • 你的意思是点击用户控件上的按钮还是表单上的按钮?
  • 单击用户控件上的“返回”按钮。
  • 是的。有几种方法可以做到这一点。公开后退按钮并处理 Click 事件,或者通过在创建用户控件/将其添加到表单时挂钩的按钮触发自定义事件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多