Tag: 用户控件

阻止VS将属性值放入.Designer.cs文件中

我有一个自定义控件,我已将其放在Visual Studio 2010中的表单和c#winforms上。 当我删除窗体上的控件时,属性将自动填充到From1.Designer.cs文件中。 我想阻止特定属性出现在文件中。 我已经将它标记为[Browsable(false)]但这还不足以阻止VS干扰我的财产。 是否有一个属性让VS忽略该属性?

.ASPX上的自定义用户控件和友好属性项集合(如ListBox和ListItems,但列表)

我一直想知道如何为用户控件执行公共属性,其工作方式类似于.NET native Item的集合属性(例如,ListBox和ListItems): <- Inline item collection… 我一直在网上查看,但没有任何成功。 我认为它必须是我需要添加到属性的任何类型的属性,OR接口应该需要由用户控件inheritance,但是没有关于它的线索,并且一直在考虑它。 我必须在自定义用户控件上工作,但Visual Studio没有将其识别为有效的项集合。 假设我们有这个userControl: public partial class userControls_Blablabla : System.Web.UI.UserControl { public List ConfigItem {get; set; } blablabla…rest logic here… } public class configItem { public string Name {get; set;} public string Url {get; set;} public string Color {get; set;} blablabla…rest logic here… } 应该如何做,能够在Visual Studio的.ASPX编辑器上做类似的事情,并得到Intellisense的识别? 对不起我的英语,我知道这不是很好。 […]

如何在用户控件WinForm中访问托管表单上的控件

在visual studio中,如何访问托管用户控件的表单上的控件? 例如,当文本在用户控件的文本框中更改时,我希望另一个用户控件中的另一个文本框中的文本更改。 这两个用户控件都托管在同一表单上。 提前致谢!

无法将控件添加到表单中

我正在尝试将Usercontrol添加到表单中。 UserControl与表单位于一个单独的项目中,但是在同一个解决方案中。 我已将此控件添加到过去的其他表单中,但是,某些内容已更改,我收到以下错误: “无法创建组件MessageDisplayListControl 。错误消息如下:’System.Runtime.Serialization.SerializationException:在Assymbly AceXtremeNET中键入AceXtremeNET.Utilities.Message’,版本= 10.0.0.273,……未标记为可序列化。在System.Runtime.Serialization.FormatterServices.InternalGetSerializableMember(RuntimeType type)at ….“ 控件确实会添加到.Designer.cs ,但是它不会显示在可视GUI中。 每次我尝试构建时,我会得到多个错误,这些错误会产生与上面相同的基本错误,即’AceXtremeNET.Utilities.Message’不是Serializable。 ———编辑—————— 我的控件具有以下属性,似乎问题。 public IList MessageList {get{return _getList();} {set {_lostList(value);}} 控件中的代码不依赖于此属性,因为它意味着purley作为get / set访问器。 每当我注释掉代码时,Everything似乎都能正常工作。 否则我可以上面提到的错误。 我之前提到过,我收到了另一个关于构建的错误,看起来这是唯一尝试序列化的Property。 ———编辑(堆栈跟踪)—————— at System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type) at System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context) at System.Runtime.Serialzation.Formatters.Binary.WriteObjectInfo.InitMemberInfo() at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Type objectType, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, SerializationBinder binder) at System.Runtime.SerializationFormatters.Binary.ObjectWriter.WriteArray(WriteObjectInfo objectInfo, NameInfo […]

如何通过用户的XAML动态地向UserControl添加控件?

我想创建一个包含TextBlock和StackPanel的用户控件,允许用户在XAML中动态地将他/她自己的控件添加到用户控件。 以下是我的UserControl的示例XAML: 我希望用户能够将此用户控件嵌入到他们的XAML中,并将他们自己的控件添加到用户控件的堆栈面板中: 使用上述XAML执行此操作不起作用。 有任何想法吗?

parentForm Reference如何为null?

我有一个应用程序,我在表单上添加了一个usercontrol。 当我在userControl构造函数中检查this.parentForm ,它给出了一个空引用 我的userControl代码就像 public UserControl1() { InitializeComponent(); if (this.ParentForm != null)//ParentReference is null { MessageBox.Show(“Hi”);//Does Not get Called } }

在属性网格中创建可扩展组?

情景 我已经对ListBox细分,并且在我的控件启用 , 禁用或处于ReadOnly模式时添加了颜色属性: 题 在C#或VB.Net中,我需要做什么才能将属性网格中的属性组织成具有此结构的可扩展组?: [+] State Enabled [+] Selected Item · BackColor · ForeColor [+] Unselected Item · BackColor · ForeColor 这是一个从Krypton lib用户控件中获取的可视示例,它演示了我想要模仿的内容: UPDATE 我认为在这个url中解释了所有关于财产网格的必要条件: http://www.codeproject.com/Articles/2764/Using-PropertyGrid-Part-I 但它专注于使用具有Load事件的表单来执行它,我仍然无法理解如何在我的用户控件中实现该示例,因为如果我创建一个子类来自定义属性网格,就像在该示例中那样我就可以不能访问我的控件的基类。 我的代码有一个像这样的简单结构: Public Class ElektroListBox : Inherits ListBox Public Property StateEnabledItemSelectedBackColor As Color Get Return Me.stateEnabledItemSelectedBackColor1 End Get Set(ByVal value As Color) Me.stateEnabledItemSelectedBackColor1 = value Me.Invalidate(invalidateChildren:=False) End […]

如何在UserControl中创建部分客户区?

在我之前的问题中,我已经解决了如何创建容器依赖控件。 现在,我在控制中遇到问题。 控制设计有点混乱。 设计看起来像这样。 在此设计中,开发人员无法在页面控件之外添加控件。 PageControl将自动添加到客户区。 我想阻止用户在PageControl之外添加控件。 我不会再混淆了。 所以,我的问题是我该怎么做? 您可以在我之前的问题中看到课程声明 如果您有任何其他想法,请建议我。 更新: 控制应该是这样的。 但是,在分配非客户区域后,放置的控件进入客户区域。 我想阻止用户在该部分添加控件。

具有自动高度属性的用户控件

我想创建将显示文本的用户控件。 我需要一种在运行时调整控件大小的方法,以便调整高度以显示所有文本。 我已经创建了如下所示的控件: 正如您所看到的,我使用TextRenderer.DrawText绘制了图标和文本。 不幸的是,当我调整控件的大小(仅向左或向右)时,我的文本有时被剪切,如下所示: 我正在使用TextRenderer.MeasureText测量文本,因为我正在计算行数,然后我正在绘制该文本。 这是我正在使用的代码: [Designer(typeof(MyTextBoxDesigner))] public partial class MyTextBox : UserControl { public MyTextBox() { InitializeComponent(); } [DefaultValue(“Demo”), Description(“Text of control”), Category(“Appearance”),Browsable(true)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] public override string Text { get { return base.Text; } set { if (base.Text == value) return; base.Text = value; Invalidate(); } } Image _image; [Description(“Image shown on the […]

ComboBox问题:无法绑定到新值成员

我有一个我作为用户控件创建的combobox(它实际上由标签,combobox和文本框组成)。 我正在尝试将数据集绑定到combobox数据源,但我一直在ValueMember / Display成员上收到错误消息: Cannot bind to the new display member – newdisplay member Cannot bind to the new value member – parameter name: value 我以为我已经为usercontrol正确编码了所有内容: public partial class ucComboBox : UserControl { #region Properties (6) private bool isEditableReadOnly; private bool ArrVisible; private string _value; private string _name; public string value { get { return […]