Tag: 设计师

覆盖OnPaint

如果我重写OnPaint并在控件上绘制一个正方形,那么当我在设计器中预览时,如何显示e.graphics.draw …?

无效的Resx文件。 无法加载类型错误为什么?

我在代码上遇到设计器错误: 组件我愿意为以下内容定义属性列表: using System.Collections.Generic; using System.ComponentModel; using System.Windows.Forms; namespace TestProjectForProperty.Test { public class MyTreeView : TreeView { private List _descriptorsAvailable = new List(); [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public List DescriptorsAvailable { get { return _descriptorsAvailable; } set { _descriptorsAvailable = value; } } } } 描述符本身: using System; namespace TestProjectForProperty.Test { [Serializable] public class TypeDescriptorBase { public string […]

使Visual Studio设计器忽略公共属性

我有一个带有公共属性的UserControl,使用以下属性: [Browsable(false)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 我尝试删除所有者表单,在Visual Studio 2010中重新创建一个新表单,并将此UserControl添加到表单。 它不断在Designer文件中添加如下行: this.vMyUserControl.MyProperty = ((MyNamespace.MyClass)(resources.GetObject(“vMyUserControl.MyProperty”))); 这会导致我的应用程序崩溃,因为此属性不是由序列化创建的。

如何在表单设计器中使Collection 类型的用户控件属性可编辑?

今天上class时,我偶然发现了一个让我疯狂的问题。 基本上我的目标是: 我有一个UserControl1 ,其字段类型为Collection ,相应的属性Collection Prop 。 像这样: public class UserControl1 : UserControl { private Collection field = null; // later changed to: //private Collection field = new Collection(); [Category(“Data”)] [DefaultValue(null)] [Description(“asdf”)] public Collection prop { get { return field; } set { field = value; } } } // later added: //[Serializable] public class […]

是否有Xamarin xaml文件的设计者?

我目前正在开始使用Xamarin。 现在我想知道UI是否有任何forms的设计器,所以我不必一次又一次地启动应用程序来设计时测试UI?

属性不会被序列化到.designer.cs文件中

在VS2010中,尽管具有DesignerSerializationVisibility.Visible / Content的ShouldSerializeFoo方法,控件属性也不会被序列化。 这是代码: class Class1 : UserControl { [Browsable(true)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public string Foo { get; set; } public bool ShouldSerializeFoo() { return true; } public Class1() { Foo = “dupa”; } } 但是,设计器不会为此属性生成任何内容: // // class11 // this.class11.Location = new System.Drawing.Point(224, 262); this.class11.Name = “class11”; this.class11.Size = new System.Drawing.Size(150, 150); this.class11.TabIndex = 2; this.class11.Load […]

如何在inheritance的WinForm中向Container添加控件

我在另一个项目中有一个基本表单,它对所有WinForms程序强制执行相同的外观。 我从该BaseForminheritance,创建自己的模板BaseView。 我的这个模板有其他控件,如ProgressBar,Timer和TableLayoutPanel。 我现在想inheritance我的BaseView并使用Designer来添加我的程序特定控件,但是我不能删除任何类似Panel或任何其他控件的内容。 我已经尝试了一些建议,比如确保基本表单的组件是公开的,但无济于事 – 大多数TLP的属性仍然是灰色的。 有人可能会给我任何建议吗? 非常感谢! partial class BaseView { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) […]

XAML Designer窗口不会加载“通用Windows”应用程序 – 即使在新项目中也是如此

我似乎记得以前遇到过这种情况,但不能为我的生活回想起我是如何解决这个问题的,并且谷歌的深度似乎没有帮助。 这是问题所在: 当我使用“通用Windows”项目打开VS2015(社区版)时,无论是新的还是旧的,即使没有改变一件事,我在设计器窗口中都会出现exception。 XAML代码显示正常,但设计器窗口给了我 “错误0X80070005:处理请求时,由于以下错误,系统无法注册windows.capability扩展:访问被拒绝。” 接下来是我将在下面包含的一面文字。 我想知道这是否可能是因为我最近更新到了Windows 10(由于某种原因,我强迫它在没有常见的解决方法的情况下仍然无法更新)并且我在VS安装中添加了使用Universal应用程序所需的function。 如果我打开一个通用Windows 8.1项目,设计器加载得很好,但不适用于通用Windows项目。 值得注意的是,我是业余学习C#,所以这可能很简单,但对我来说似乎是IDE中的一个错误…… 这是文本的墙,以防任何人都有意义。 无法注册System.Exception包。 错误0x80070005:处理请求时,由于以下错误,系统无法注册windows.capability扩展:访问被拒绝。 。 在Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.ProcessDomainFactory.ProcessIsolationDomain的Microsoft.VisualStudio.DesignTools.HostUtility.Platform.AppContainerProcessDomainFactory.CreateDesignerProcess(String applicationPath,String clientPort,Uri hostUri,IDictionary environmentVariables,Int32&processId,Object&processData)。 Microsoft.VisualStudio.DesignTools.HostUtility.Platform.AppContainerProcessDomainFactory上的Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.ProcessDomainFactory.CreateIsolationDomain(IIsolationBoundary boundary)中的.ctor(ProcessDomainFactory工厂,IIsolationBoundary边界,AppDomainSetup appDomainInfo,IIsolationTarget isolationTarget,String baseDirectory) .CreateIsolationDomain(IIsolationBoundary boundary)at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.IsolationBoundary.Initialize()at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.Primitives.IsolationBou Microsoft的Microsoft.VisualStudio.DesignTools.DesignerHost.Services.VSIsolationService.CreateObjectFactory(IIsolationTarget isolationTarget,IObjectCatalog目录)中的Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolatedObjectFactory.Initialize()的ndary.CreateInstance [T](Type type)。 Microsoft.VisualStudio.DesignTools.DesignerContract.IsolatedDesignerService.CreateLease(IIsolationTarget isolationTarget,CancellationToken)上的Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolationService.CreateLease(IIsolationTarget isolationTarget)中的VisualStudio.DesignTools.DesignerContract.Isolation.IsolationService.CreateLease(IIsolationTarget isolationTarget)在Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolatedTaskS上的Microsoft.VisualStudio.DesignTools.DesignerContract.IsolatedDesignerService.IsolatedDesignerView.CreateDesignerViewInfo(CancellationToken cancelToken)中的cancelToken,DesignerServiceEntry&entry,IServiceProvider serviceOverrides) cheduler.InvokeWithCulture [T](CultureInfo culture,Func 2 func, CancellationToken cancelToken) at Microsoft.VisualStudio.DesignTools.DesignerContract.Isolation.IsolatedTaskScheduler.c__DisplayClass10_0 1.b__0()at System.Threading.Tasks.Task`1.InnerInvoke ()at System.Threading.Tasks.Task.Execute()

Visual Studio设计器中的抽象通用UserControlinheritance

在我的一个项目中,我正在使用抽象的UserControl。 为了能够在Visual Studio中设计此控件,我使用了本答案中提出的代码。 现在我想使用另一个抽象的UserControl,它也是通用的。 但如果我这样做 [TypeDescriptionProvider(typeof(AbstractControlDescriptionProvider<MyBaseControl, UserControl>))] 我收到了编译器错误 CS0416:属性参数不能使用类型参数 删除类型参数显然也无法编译。 我无法从非generics基类派生MyBaseControl,因为它已经从通用基类派生,所以我尝试使用接口进行装饰并使用它如下: [TypeDescriptionProvider(typeof(AbstractControlDescriptionProvider))] 这确实编译但是当我打开设计视图时,我的控件不会被渲染,而是我得到了错误 提供的generics参数的数量不等于generics类型定义的arity。 有办法解决这个问题吗?

修复通用UserControl的嵌入资源

在重构期间,我向MyControl添加了一个generics类型参数, MyControl是一个派生自UserControl的类。 所以我的class级现在是MyControl 。 现在我在运行时收到一条错误,指出无法找到嵌入式资源文件MyControl`1.resources 。 使用.NET Reflector快速查看显示资源文件实际上名为MyControl.resources ,没有`1 。 在MyControl.InitializeComponent方法的开头,有一行可能是导致问题的那一行: System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager( typeof(MyControl)); 如何强制ComponentResourceManager使用嵌入式资源文件MyControl.resources ? 其他解决此问题的方法也是受欢迎的。