问题标签 [design-time]

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 回答
1694 浏览

.net - UITypeEditor 和 IExtenderProvider

我有一个扩展器 (IExtenderProvider),它使用附加属性扩展了某些类型的控件。对于这些属性之一,我编写了一个 UITypeEditor。到目前为止,一切正常。

扩展器本身也有几个属性,我试图将它们用作 UITypeEditor 的一种默认值。我想要做的是能够在扩展器本身(而不是扩展控件)上设置一个属性,并且当我为扩展控件上的一个附加属性打开 UITypeEditor 时,我想在UITypeEditor 为扩展器上的属性值。

一个简单的例子:ExtenderProvider 有一个属性 DefaultExtendedValue。在表单上,​​我将此属性的值设置为“我的值”。扩展控件通过提供程序具有带有 UITypeEditor 的属性 ExtendedValue。当我打开属性 ExtendedValue 的编辑器时,默认(初始)值应设置为“我的值”。

在我看来,执行此操作的最佳位置是 UITypeEditor.EditValue,就在调用 IWindowsFormsEditorService.DropDownControl 或 .ShowDialog 之前。

唯一的问题是我不能(或者我还没有发现如何)在 EditValue 中获取扩展器提供程序本身,以读取相关属性的值并将其设置在 UITypeEditor 中。上下文为我提供了扩展控制,但在这种情况下,这对我没有用。

有什么办法可以实现我正在尝试的吗?任何帮助表示赞赏!

谢谢汤姆


@samjudson:这不是一个坏主意,但不幸的是它并没有完全让我到达那里。我真的希望能够为扩展器提供程序的每个实例单独设置此默认值。(对于不同的扩展控件组,我可能在一个表单上有多个不同的值。)

0 投票
5 回答
6622 浏览

.net - 自定义 Winforms 控件中的基线对齐线

我有一个带有文本框的自定义用户控件,我想在自定义控件之外公开基线(文本框中的文本)对齐线。我知道您创建了一个设计器(从 ControlDesigner 继承)并覆盖 SnapLines 以访问对齐线,但我想知道如何获取自定义用户控件公开的控件的文本基线。

0 投票
2 回答
978 浏览

visual-studio-2003 - 如何检测 VS.NET 2003 控件库项目中的设计时间

下面的代码无法按预期工作以检测它是否处于设计模式(VS.Net 2003 - 控制库):

if (this.Site != null && this.Site.DesignMode == true)
{
// 设计模式
}
else
{
// 运行时
}

它用于复杂的用户控件,派生自另一个用户控件并在其上包含其他用户控件。
是否有另一种方法来检测 VS.NET 2003 中的设计时间,或者上面的代码有什么问题?

0 投票
3 回答
984 浏览

asp.net - VS 设计时用户控制 CSS 复制

当用户控件被拖放到 aspx 页面上时,我想避免在输出 html 中重复样式表链接标记。但是,如果您省略样式表链接标记,您将无法获得样式表的设计时支持。

有人知道解决这个问题的方法吗?

0 投票
5 回答
8359 浏览

c# - .NET Windows 窗体设计时规则

我有一个对象,它启动一个线程,打开一个文件,并等待来自其他类的输入。当它接收到输入时,它会将其写入磁盘。基本上,它是一个线程安全的数据记录类......

这是奇怪的部分。当我在使用该对象的设计器 (Visual Studio 2008) 中打开一个表单时,该文件被创建。它显然是在设计时虚拟主机进程下运行的......

奇怪的是我无法在另一个项目中重现该问题。我不确定在设计器中执行的代码和不执行的代码的规则是什么。例如,在 Windows 窗体构造函数中创建文件实际上并没有在设计时创建文件......

解释是什么?有参考吗?

0 投票
2 回答
2667 浏览

c# - 将自定义设计时命令添加到 WinForms 控件

我有一个自定义 WinForms 控件(从控件继承,即没有用户界面 jsut 作为计时器),我想向其中添加自定义命令添加设计时间。

这可能类似于菜单的“右键单击并选择'编辑项目...'”。

这可能吗?如何?

另外,您能否推荐一些关于改进自定义控件的设计时体验的一般性阅读(在线)?

0 投票
3 回答
633 浏览

asp.net - 在属性窗口中显示可用的强类型资源类

作为我第一次尝试创建自定义控件,我正在扩展 Gridview Web 控件。

作为扩展的一部分,我将网格列标题的本地化封装在控件中。除其他外,我公开了几个属性来启用此功能:

bool AutoLocalizeColumnHeaders - 启用该功能

string HeaderResourceFile - 标识一个强类型资源类,从中获取标题文本

我正在重写 OnRowDataBound 处理程序并使用反射获取适当的 ResourceManager 来填充标题文本。这一切都很好,但我想在属性窗口中显示可用的强类型资源类列表供用户选择,而不是他们必须手动输入名称。

我创建了一个 TypeConverter 来显示一个下拉列表,在该下拉列表中显示可用的类,但不知道如何获取要显示的可用类名列表?

我已经尝试了很长一段时间没有成功,并且正处于失去理智的地步。我假设必须有某种方法可以使用反射来实现这一点?

0 投票
2 回答
1223 浏览

.net - .NET 设计时数据源(用于组合框)

我正在尝试创建一个 ObjectDataSource,我可以用它来绑定到一个 BindingSource,而他又应该绑定到一个 ComboBox。

我为这个类创建了一个简单的类和一个简单的列表(见下文)

  1. Times 列表类未显示在我的工具箱中,因此我无法将其拖到表单中,因此我可以选择它作为绑定源的数据源。
  2. 第二个选项是创建一个新的项目数据源(ObjectDataSource)。此处要求“选择您希望绑定到的对象”。我向 Form1 添加了一个朋友/公共/私有变量,它实例化了 Times 类。但是这个变量没有显示。我的项目命名空间中出现的唯一对象是 Form1。

我错过了什么?

0 投票
3 回答
228 浏览

.net - Windows .Net 控件 - 创建属性模板

假设我的 .Net Windows 应用程序中通过将 TextBox 控件拖到表单编辑器上创建的所有文本框控件都应具有以下默认属性(某些文本框实例可以覆盖这些属性):

文本对齐:居中
调整大小:根据内容
停靠:左、上和右

现在,每次需要时设置这些属性变得繁琐且手动无聊。有什么方法可以将这些属性默认为“程序集级别”。我知道用户控件会解决问题,但我认为这是一个代价高昂的解决方案,我认为应该有一个更简单、更优雅的解决方案来解决这个问题。谢谢

0 投票
3 回答
1048 浏览

c# - 我可以在 C# 的设计时迭代引用的程序集吗?

我正在尝试编写一个 .NET 组件。该组件将被拖放到表单/用户控件上,并且需要在设计时访问组件父表单/用户控件引用的程序集中的属性。是否有可能在设计时获得这些组件?