问题标签 [windows-forms-designer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1728 浏览

winforms - Windows 窗体设计器破坏窗体布局

今天早上,我在 Visual Studio 的 Windows 窗体设计器中偶然发现了一个奇怪的问题。我有一个表格,现在已经工作了大约一个月,没有任何变化。在应用程序中看起来像这样:

表单外观的屏幕截图

(文本变得不可读,因为我不完全确定这里的法律含义)。

现在从今天开始,显然(我想我昨天在设计器中打开了表单没有问题)它在设计器中看起来像这样:

窗体在 Windows 窗体设计器中的外观屏幕截图

查看差异,每个控件(或几乎每个标签都没有受到影响,但可能与 AutoSize 有关)的宽度为 311 像素。在设计者弄乱文件后,下面的行在整个文件中很常见:

无论价值来自何处。此外,一个标签得到了有趣的文本"潐瑲⼠倠獯瑩潩㩮攀瑵慲ⱬ"(它的原始字节不再有意义)。

当我没有在设计器中打开表单时,没有任何不好的事情发生,项目甚至在文件未被触及的情况下构建,并且在运行程序时看起来很好。但是打开设计器会触发设计器生成的代码中的上述更改,并且这些更改在编译时会持续存在(显然)。

在同事的机器上,这根本不会发生(但他无法在不崩溃 VS 的情况下打开数据集,所以这里的两个设置可能有点奇怪......)。

我真的很想知道这里发生了什么。有任何想法吗?

ETA:一旦设计器开始调整大小,我就无法更改控件的大小。调整大小仅会导致一些视觉伪影,就好像控件调整大小一样,但在检查时仍为 311 px 宽度。

ETA 2:很奇怪:打开设计器(导致损坏,到目前为止还不错),然后使用 AnkhSVN 进行待定更改并恢复对文件的所有更改也会恢复损坏。表单看起来甚至应该在设计器中。直到我关闭并重新打开它。

0 投票
2 回答
383 浏览

c# - 复杂的类声明混淆表单设计器?

我有一个类声明为:

我手动添加它来测试它,但我最终需要可以在表单设计器中显示的东西。表单设计器不喜欢这样,它说:

有趣的是,我也收到了一个类似的警告,但包含了我在变量声明中使用的泛型类型。警告是:

我的简单 Form1 类中的声明是:

(FooNodeType 实际上只是 Label 的一个子类,它有一个尚未使用的辅助属性;它确实实现了 IFooNode)。

所以我的问题......通过这种类型的设置,我怎样才能让 Foo 显示在表单设计器上,或者至少让它承认 Foo 是合法的?是否有任何 Designer 属性可以处理此问题?我真的不在乎我的 Foo 控件是否显示为一个空框,只要它出现就行了!

0 投票
2 回答
101 浏览

winforms - 创建 WinForms 的继承链会咬我吗?

假设我有一个基本表单 Main1,可能需要稍作修改,包括可能添加额外的控件和更改现有控件的大小/位置。我需要更改的那些基本控件在设计器中设置为“受保护”。所以我有另一种形式,Main2,它派生自 Main1。然后我有另一种形式,Main3,它有更多的添加/更改,但需要第 2 种形式的添加。等等。我的继承链看起来像: MainX : Main(X - 1) : ... : Main2 : Main1

这很好用,让我在移动和调整控件大小时得到设计师的支持,但我总是对继承保持警惕,尤其是当我有这么大的链时。

我以后要为此付出代价吗?

0 投票
10 回答
29869 浏览

c# - 如何让 Visual Studio 2008 Windows 窗体设计器呈现实现抽象基类的窗体?

我遇到了 Windows 窗体中继承控件的问题,需要一些建议。

我确实为 List 中的项目(由面板组成的自制 GUI 列表)和一些继承的控件使用了基类,这些控件用于可以添加到列表中的每种类型的数据。

没有问题,但我现在发现,将基本控件设为抽象类是正确的,因为它有方法,需要在所有继承的控件中实现,从内部的代码中调用base-control,但不能也不能在基类中实现。

当我将基本控件标记为抽象时,Visual Studio 2008 设计器拒绝加载窗口。

有没有办法让 Designer 使用抽象的基本控件?

0 投票
2 回答
920 浏览

c# - 用于在表单设计器中访问自定义属性的属性

我有一个包含棒列表的控件。棒有一些公共属性:

在承载棒的控件中,列表声明为:

我希望能够选择一个 RodsHost 控件并单击“Rods”属性页,然后通过 Forms Designer GUI 编辑该控件上的 Rods。目前,我可以将棒添加到列表中,但不能编辑棒的属性(角度、主颜色等)。我尝试将该属性[DesignTimeVisible(true)]应用于 Rods 类,但这似乎不起作用。我想也许我应该使用 Designer 属性,但我不确定我在这里需要哪个 Designer 类。有人有建议吗?

0 投票
1 回答
7076 浏览

c# - 在“属性”窗口中允许多行字符串属性

我有一个带有字符串属性的 Windows 窗体用户控件,用于设置文本框的文本。这个字符串可以是多行的。

我注意到在某些带有文本属性的控件上,您不会被迫输入单行属性文本框,而是会弹出一个小窗口,您可以在其中输入多行。(事实上​​,Windows 窗体文本框控件允许在 Text 属性上执行此操作。)

如何在我设计的属性的属性窗口中启用此功能?

以下不是我的应用程序中的真实代码,而是如何定义此类属性的示例

0 投票
3 回答
2387 浏览

c# - Visual Studio:使用属性使视图代码默认

我知道如何配置 VS 2008 以在代码而不是设计器中打开 windows 窗体控件。但我想我已经看到了一种方法,我可以使用可以装饰所需控件的属性来做到这一点。有人知道它的名字吗?如果您希望在设计器中打开一些控件并在 c# 代码视图中打开一些控件,这将非常有用。

0 投票
1 回答
15728 浏览

visual-studio-2008 - 在 Windows 窗体设计器中将控件对齐到窗体的中心

这让我很不解:如何让 Windows 窗体设计器为我正在处理的窗体的水平和垂直中心提供像素对齐?

0 投票
2 回答
2236 浏览

visual-studio - 不同分辨率的 Visual Studio Windows 窗体预览?

我喜欢以 1680 x 1050 分辨率运行 Visual Studio。但是,我们的客户通常使用 1024 x 768。有什么方法可以让我的编辑器保持原始分辨率,但以不同的分辨率显示表单设计器?谢谢!

奥斯汀

0 投票
1 回答
680 浏览

.net - 复合用户控件拥有的子控件的设计时移动

我有一个 Windows 窗体用户控件,它(由于与此问题无关的各种原因)在设计器中公开,就像拆分面板中的面板一样。除了拖动控件之外,大多数东西都运行良好。子控件由用户控件创建,它不接受新的子控件。目的只是允许编辑预定义子项的属性。

由于控件允许设计子控件,所以也可以在设计器中选择(这是好事,我不想改这个)。但是,它们不能也不应该单独移动。

我想要发生的是,当在设计器中拖动子控件时,拖动实际上会移动父控件。

我一直在浏览有关控件设计器的文档,但没有出现任何简单或明显的内容。