Tag: 用户控件

用户控件在设计时作为容器

我正在设计一个简单的扩展器控件。 我派生自UserControl,绘制内部控件,构建,运行; 一切都好。 由于内部控件是Panel,我想在设计时将其用作容器。 的确,我使用了以下属性: [Designer(typeof(ExpanderControlDesigner))] [Designer(“System.Windows.Forms.Design.ParentControlDesigner, System.Design”, typeof(IDesigner))] 太棒了,我说。 但它不是…… 结果是我可以在设计时将它用作容器,但是: 添加的控件返回已嵌入用户控件中的内部控件 即使我在设计时将顶部控件添加到顶部,在运行时也会再次返回嵌入到用户控件的控件 我无法在设计时将容器区域限制为Panel区域 我错过了什么? 这是完整性的代码…为什么这段代码不起作用? [Designer(typeof(ExpanderControlDesigner))] [Designer(“System.Windows.Forms.Design.ParentControlDesigner, System.Design”, typeof(IDesigner))] public partial class ExpanderControl : UserControl { public ExpanderControl() { InitializeComponent(); …. [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = “FullTrust”)] internal class ExpanderControlDesigner : ControlDesigner { private ExpanderControl MyControl; public override void Initialize(IComponent component) { base.Initialize(component); MyControl = […]

无法访问后面的代码中的控件ID

我的aspx页面中有以下代码: 这在我的代码背后: protected void Page_Load(object sender, EventArgs e) { myButton.Text = “bye”; } 由于某种原因,intellisense在后面的代码中获取“myButton”id,但是当它编译时它说 它无法构建,因为它无法识别它! 我的页面是一个使用母版页的默认aspx页面,该按钮位于内容控件内,并且所有页面都设置为在服务器上正确运行,页面运行并且显示正常,除了此按钮分辨率问题! 有任何想法吗?

MVVM – 用户控制相互通信的理想方式是什么

我有一个用户控件,其中包含其他几个用户控件。 我正在使用MVVM。 每个用户控件都有一个相应的VM。 这些用户控件如何相互发送信息? 我想避免在后面的xaml代码中编写任何代码。 特别是我对控件(主用户控件内部)如何相互通信以及如何与容器用户控件进行通信感兴趣。 编辑 :我知道使用事件代表将帮助我解决这个问题。 但是,我想避免在xaml代码隐藏中编写任何代码。

C#.NET中的模糊日期时间选择器控件?

我正在C#中为winforms应用程序实现模糊日期控件。 模糊日期应该能够采用类似的模糊值 去年六月 2小时前 2个月前 上个星期 昨天 去年 等等 是否有“模糊”日期时间选择器的任何示例实现? 任何实现这种控制的想法都将受到赞赏 PS :我知道这里和这里所说的模糊日期算法,我真的在寻找开发这种控制的任何想法和灵感

如何创建一个hover的C#Winforms控件

如何创建一个超出其区域范围的C#Winforms控件? 比如一个下拉框。 有点像你在小尺寸面板中有一个DropDownBox。

Visual Studio设计器中的抽象UserControlinheritance

abstract class CustomControl : UserControl { protected abstract int DoStuff(); } class DetailControl : CustomControl { protected override int DoStuff() { // do stuff return result; } } 我在表单中删除了一个DetailControl。 它在运行时正确呈现,但设计器显示错误并且无法打开,因为基本用户控件是抽象的。 目前,我正在考虑以下补丁,这对我来说似乎很不对,因为我希望子类被强制实现该方法。 class CustomControl : UserControl { protected virtual int DoStuff() { throw new InvalidOperationException(“This method must be overriden.”); } } class DetailControl : CustomControl { […]

C#中UserControl中的Text属性

我有一个内部TextBox控件。 我想在UserControl的Text属性和TextBox的Text属性之间建立直接关系。 我意识到的第一件事是Text没有显示在UserControl的属性中。 然后我添加了Browsable(true)属性。 [Browsable(true)] public override string Text { get { return m_textBox.Text; } set { m_textBox.Text = value; } } 现在,文本将显示一段时间,但随后会被删除。 这是因为信息不会自动写入xxxx.Designer.cs文件中。 如何改变这种行为呢?

如何在C#中向UserControl添加事件?

我有一个包含3个标签的UserControl。 我想为它添加一个事件,当其中一个标签的文本发生变化时会发生这种事件。 我正在使用Visual Studio 2010

在c#中的usercontrol中公开并引发子控件的事件

你好。 我有一个包含文本框的UserControl。 我想访问文本框的textchanged事件,但在usercontrol的事件属性中,我没有看到文本框的事件。 如何使用C#从Winforms中公开公开的UserControl公开和处理子控件的特定事件。

如何在自定义控件中启用设计支持?

我会试着解释一下我的追求。 我不知道它的技术术语,所以这里是: 示例1:如果我在表单上放置ListView并添加一些列,我可以在“设计时”中单击并拖动列以调整它们的大小。 示例2:现在,我将ListView放在UserControl中并将其命名为“MyCustomListView”(并且可能添加一些方法来以某种方式增强它)。 如果我知道在表单上放置“MyCustomListView”,我无法单击并拖动列标题以在“设计时”中调整它们的大小。 有没有办法轻松实现这一目标? 某种forms的“将点击并拖动事件传递给底层控件并让该控件发挥其魔力” 。 我不是真的想要重新编码,只需传递鼠标点击(或其他任何东西)并让,在这种情况下,ListView会像上面第一个例子中那样做出反应。