问题标签 [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 投票
3 回答
3100 浏览

c# - 问题如何使 C# 的 VS IDE 设计器失效/刷新?

我从Form继承了CustomForm ,它实现了一个名为Prop的布尔属性。我将使用的表单将继承自CustomForm。此属性将对表单进行一些绘制和更改(如果已启用)。但是,这并不能正常工作,设计的 VS IDE 并未刷新以显示更改。但是,如果我按 Ctrl+Shift+B(菜单:构建 » 构建解决方案)VS IDE 将刷新,表单设计器甚至会消失一瞬间,并会在应用新更改后重新绘制自身。

那么,有没有办法通过代码强制 VS IDE 设计器刷新自己,就像我构建解决方案时发生的那样?如果是这样,我可以将该代码添加到Prop集访问器中,我的问题就消失了。

请注意,我尝试调用 Invalidate()、Refresh() 和 Update。但他们似乎都没有解决问题......


这是对我的实际问题的一些见解。我的代码是这样的:

我遇到的问题是这样的:http: //blogs.msdn.com/calvin_hsia/archive/2007/05/01/windows-vista-aero-borderstyle-paint-problem-as-non-administrator。 aspx

在我的情况下,当您将 EnableSkin 设置为 True,将其更改回 False,然后更改 FormBorderStyle 将导致您在上面的链接中看到的问题时会发生这种情况。如文章所述,以管理员身份运行 VS 时不会发生此问题。

这就是为什么我正在寻找一种方法来刷新 VS IDE 设计器。换句话说,既然我找到了那篇文章,我需要重新创建窗口,就像重新构建解决方案时发生的那样。


如何在基本表单中声明属性?

我目前有:

而且我只能在该类中声明属性,而不是在 Form one 中......我也使用了 Invalidate() 正如我在第一篇文章中所说的那样,但这并不能解决我的问题。

0 投票
1 回答
103 浏览

c# - 如何设置设计师设置值的顺序?

我制作了一个自定义控件,其中包含开始时间、当前时间和结束时间的值。当前时间必须介于开始时间和结束时间之间,否则会引发异常。

在设计器中,我想设置新的开始、当前和结束时间;并且新的当前时间对新的开始和结束有效,而不是默认的开始和结束。但是设计器先设置当前时间,所以抛出异常,用设计器异常消息替换设计器。

如何告诉设计师在设置当前时间之前设置开始和结束时间?

0 投票
1 回答
8025 浏览

wpf - 如何解决 WPF 设计器错误“类型 {0} 不支持直接内容”。

以下 XAML(如下)在资源中定义了一个自定义集合,并尝试使用自定义对象填充它;

问题是我在“类型'MyCustomCollection'不支持直接内容”的设计器中遇到错误。我已尝试按照 MSDN 中的建议设置 ContentProperty,但无法弄清楚将其设置为什么。我使用的自定义集合对象如下,非常简单。我已经尝试过 Item、Items 和 MyCustomItem,但想不出还有什么可以尝试的。

任何关于我哪里出错的线索都将不胜感激。还提示如何深入研究 WPF 对象模型以查看在运行时公开了哪些属性,我也许也可以通过这种方式弄清楚。

问候

瑞安

0 投票
6 回答
9458 浏览

c# - C# 用户控件继承

使用 VS.NET 2008,输出类型类库,目标框架 .NET 2.0

我想出了一个简化的场景来问这个问题。

我有一个Button用户控件,它是一个简单的面板,上面有一个大按钮。

我想创建一个RedButton扩展 的控件,Button类似地,一个GreenButton.
例如Class RedButton : Button

理想情况下,当我打开RedButton的设计器时,我会看到我在其中创建的按钮Button并能够对其进行修改,例如将其设为红色,或更改字体等。

我曾经尝试过这样做,但是当我打开RedButton's 设计器时,我得到了一堆错误。

在这种情况下,以编程方式完成所有这些工作对我们来说不是一种选择,因为在实际情况下这将是一种痛苦。

有人可以对此有所了解吗?非常感谢。

0 投票
3 回答
1498 浏览

wpf - WPF 设计器在解析具有覆盖属性的通用控件时存在错误

我用虚拟属性创建了一个通用的无外观控件:

然后我创建了一个从它派生的控件并覆盖了 Value 属性:

所以我在 Window XAML 中使用它:

当我在设计器中打开窗口时一切正常,但是当我将鼠标光标放在这一行或设计器中的这个控件时,我收到异常:

谁知道这个问题?请解释一下 :) 除了 WPF Designer 不喜欢泛型之外,我没有任何想法。如果我全部替换泛型Object就可以了。

0 投票
1 回答
140 浏览

.net - Visual Studio 设计器中的可折叠成员事件

如何让我的控制成员在 Visual Studio 事件网格上显示他们的事件?Visual Studio 通过将“(DataBindings)”成员放在可折叠部分中来执行此操作,如下所示:

Visual Studio 中的可折叠事件 http://tseqkw.bay.livefilestore.com/y1pD-vBYTm53aShasVJk9nh0JY_8bHkp9jH5cfGaSDKZwDXmlF4WJzPqO8GuH2jhY2A6cy2wDGv5Pr42Z-KOG96YA/collapse-events.png

我想对我自己的一些组件执行此操作,因为它们的事件通常在表单上处理,并且必须手动创建处理程序很烦人。

0 投票
4 回答
4706 浏览

winforms - Windows 窗体设计时错误

我正在使用 Visual Studio 2008,在尝试打开我的一个表单时收到以下错误消息:

在 ServiceModel 客户端配置部分中找不到名为“WSHttpBinding_ICommon”和合同“CommonWCF.ICommon”的端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此名称匹配的端点元素。

以及以下堆栈跟踪

在 System.ComponentModel.ReflectPropertyDescriptor.SetValue(对象组件,对象值)在 System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement(IDesignerSerializationManager 管理器,CodeAssignStatement 语句,CodePropertyReferenceExpression propertyReferenceEx,Boolean reportError)在 System.ComponentModel.Design.Serialization.CodeDomSerializerBase .DeserializeAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement) at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)

然而,我的 App.Config 中确实有建议的元素,并且一切都在运行时运行。但是,每当我尝试打开表单时,我都会收到此消息,这还不错,因为我可以忽略它,但是当我执行许多控件(右侧和/或底部带有锚点的控件)时,它们会移动并且我的网格会自动从我之前删除的数据源中重新获得所有列(列)。

有什么建议/解决方法吗?这是 Visual Studio 2008 的错误吗?

0 投票
1 回答
1776 浏览

winforms - Visual Studio 设计器在打开表单时移动控件并添加网格列

我第一次尝试打开特定表单时,许多控件(右侧和/或底部带有锚点的控件)被移动,我的网格自动从其数据源中重新获得所有列(这些列)我之前已删除.

我在其他地方读过,建议在 InitializeComponent 方法之后将“好的”设计器代码复制到构造函数中。这似乎不是一个好的长期解决方案,例如,如果用户做出未来的设计更改怎么办?

有什么建议/解决方法吗?这是 Visual Studio 2008 的错误吗?

0 投票
3 回答
1878 浏览

c# - 如何使用设计人员友好的预绑定数据源创建派生组合框?

我想从 System.Windows.Forms.ComboBox 创建一个派生控件,该控件绑定到我从数据库中检索的对象列表。想法是其他开发人员可以直接在他们的表单上删除这个控件,而不必担心数据源、绑定,除非他们愿意。

我尝试扩展组合框,然后在构造函数中设置 DataSource、DisplayMember 和 ValueMember。

在我运行时工作,但一旦添加到任何表单中,就会在 Visual Studio 中引发很多错误。我得到的错误是:

“属性“项目”的代码生成失败。错误是:“对象引用未设置为对象的实例”

完成此任务的正确方法是什么(C#、Winforms、.NET 2.0+)?

0 投票
2 回答
309 浏览

winforms - 从 Visual Studio 2008 的 WinForms 工具箱中筛选自定义 .net 控件的选项有哪些?

Visual Studio 2008 在检测控件并将控件从项目添加到工具箱以供表单设计器使用方面做得更好。如果您有一个具有 UserControl 或 DataSet 派生类型的程序集,那么它将自动检测该控件并将其添加到用于设计表单的工具箱中。这比 2005 年的旧系统稍微好一点,旧系统使您手动添加控件并且偶尔会忘记它们等。

然而,在我正在处理的遗留的、单一的项目(现在升级到 vs2008)上,这意味着许多我不想要也不需要的控件(并且对这么多遗留代码进行重新设计是没有保证的:()。我想如果我将某些类型设置为内部或私有,那么它们就不会出现。但是,我需要其中许多保持公开,但不会出现在工具箱中。此外,有这么多控件被添加到工具箱中,打开 winforms 设计器显着减慢。

  1. 是否存在阻止工具箱外观的属性或其他机制(否则不会影响功能)?
  2. 使用这种机制进行过滤会提高性能,同时仍然自动检测应该在工具箱中的新类型吗?(我知道你可以禁用自动检测,但在很多情况下它很好)
  3. 其他人是否在大型解决方案(具有许多 csproj/vbproj 文件)上遇到过这种烦恼?

编辑:谢谢大家!我知道它必须简单(并且可能是一个属性),但这填补了空白。很高兴知道我在不知道 ToolBoxItem(false) 的情况下相处得很好。