当我在visual studio 2005(c#)中打开一个表单时,设计器会自动调整表单的大小并移动/调整控件大小而根本不触及设计器.源文件已更改,当我关闭设计器时,我被要求保存*.cs文件.我试图研究视觉工作室选项而没有任何成功.有任何想法吗?视觉工作室设置或什么?谢谢,塔尔
我用C#开发了一个控件.除此之外,此控件还可以在运行时弹出其他控件.当您在Visual Studio中包含程序集时,我创建的控件会显示,但其他控件(我的控件使用的控件)也会显示.我宁愿不让它们出现在Visual Studio的工具箱中.是否有一个属性,我可以应用于这些类,使它们不显示?我找到了可浏览的属性,但它表示它属于属性和事件.
我有一个问题(显然问题:)
我有一个项目 - MyProject ...因此项目的其余部分使用任何类的默认值作为命名空间"MyProject"......没问题.
在我的项目中,我创建了一个自定义用户控件,其上有许多其他控件(标签,文本框等).因此,该类也在"MyProject"的默认命名空间内.所有编译都没有问题.为了确认范围可见性,在这个用户控件上,我确保DESIGNER代码和Code-Behind(我的代码)在同一个"MyProject"命名空间(它们是)中同时存在,并且它们分别是PUBLIC PARTIAL CLASS MyUserControl .
现在问题.我创建了一个简单的表单(默认情况下也在名称空间"MyProject"中).从工具箱中,"MyUserControl"存在,因此我将其拖到MyNewForm上.拖放很好.
保存所有,编译,失败...... Designer正在添加一个额外的"MyProject"引用,从而使用户控件实际上位于MyProject.MyProject.MyUserControl ..而不是MyProject.MyUserControl.
一旦我手动删除额外的"MyProject.",保存并编译,一切都很好.但是,如果我重新编辑表单,更改某些内容,M $会将其更改回原始的"MyProject.MyUserControl"引用.
所有这一切,这里是我的项目的片段......
namespace MyProject
{
partial class MyNewForm
{
...
private void InitializeComponent()
{
// THIS is the line that has the extra "MyProject." reference
// when I manually remove it, all works perfectly
this.MyUserControl1 = new MyProject.MyUserControl();
}
}
private MyUserControl MyUserControl1;
}
Run Code Online (Sandbox Code Playgroud)
然后,在MyUserControl定义中,我有......
namespace MyProject
{
public partial class MyUserControl : UserControl
...
}
Run Code Online (Sandbox Code Playgroud)
并通过设计师从MyUserControl ...
namespace MyProject
{
public partial class MyUserControl …
Run Code Online (Sandbox Code Playgroud) 我知道你可以将unicode字符代码放在VB.Net字符串中,如下所示:
str = Chr(&H0030) & "More text"
Run Code Online (Sandbox Code Playgroud)
我想知道如何将char代码直接放入字符串文字中,以便我可以使用设计器视图中的unicode符号.
这甚至可能吗?
我正在使用MVVM模式开发一个联网的WPF应用程序,它似乎正在运行并连接到设计器中的服务器.
我知道IsInDesignMode属性,但我不确定如何在ViewModel中访问它.
我想在Qt中有一个包含QActions或QToolbarButtons的工具栏,它们附有弹出菜单.通过创建QMenu,将其添加到QToolbarButton然后将其添加到QToolbar,我已经能够在代码中完美地完成此操作.我的问题是,这应该可以在设计师中完全完成.
这是我通过代码完成的工作,我想在qt designer中定义按钮和菜单:
我们想要用qt设计器做的是将代码与接口分开.例如,这意味着一个人可以设计表单的外观和组件,然后程序员可以采用它并编写其背后的功能.如果工具栏和菜单必须由程序员设计,我们无法非常有效地完成此任务.
对于许多应用程序来说,这似乎是一个相当常见的要求,我无法看到Qt如何强制在代码而不是设计器中完成此操作.
如果有人对如何做到有任何想法,也许我在Qt中遗漏了一些东西?
在我的UI XAML中,我基本上继承了一个类"BaseView",它包含多个表单共有的功能,但是这阻止了设计者显示表单:"无法创建BaseView类型的实例".代码将编译并运行,但是不能在Designer中看到该表单是令人沮丧的.有没有更好的办法?谢谢.
XAML:
<vw:BaseView
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vw="clr-namespace:ReviewClient"
x:Class="ReviewClient.MainPage"
Run Code Online (Sandbox Code Playgroud)
...
对于"如何移除设备框架"的相反问题似乎有大量答案,该问题指示用户单击预览内的"设置"按钮以取消选中"包括设备框架(如果可用)".但是对于我在Mac和2.2.1之前使用2.2.2,这样一个带有该选项的按钮永远不可用.开箱即用(dmg)Android Studio Designer始终只显示没有任何设备框架的视口.
对Designer设置的这种解释表明该选项仅在选择"包含设备框架"选项时才可用,但对我来说这是一个鸡和鸡蛋问题.我正在使用已选择"启用设备帧"的默认Nexus 6P AVD.我看到的唯一设置按钮(位于预览窗格之外,不在内部)仅显示这些选项.
如何显示设备框架?谢谢
正如标题所暗示的那样,设计者抛出了这个错误,这意味着设计师无法正确显示我的UserControl,这反过来意味着我无法在此UserControl中从元素到元素平滑导航以进行修改.真烦人
XXX是我的UserControl的名称,而URI YYY实际上是XXX的路径.所以我不明白它不能发现自己是资源.我搜索了这个错误,但大多数都发生在运行时.在我的情况下,当我执行它时根本不会发生.这个错误的描述真的不够解释,因为我不确定CLR中谁将文件本身作为资源加载.
另一件值得一提的是,这个错误只发生在我构建我的应用程序项目后,UserControl所在的错误.在我点击清理项目之后,设计师可以显示整个东西(但显然我无法清理因为建筑需要时间,所以在我做任何改变之前的每次项目)
我正在尝试编写自定义WinForms组件,我编写了几个简单的验证器组件,用于ErrorProvider
自动挂钩验证事件的子类.所有这些组件都可以添加到表单中,并且仅使用设计器进行连接,这要归功于IExtenderProvider
.
现在尝试上升一个级别,我试图让一个复合验证器可以与设计师一起使用.我可以解决它并使用代码,但这非常简单.我想让它以设计师的方式工作.
我的困难在于暴露一个属性,该属性是同一形式的其他验证器的集合.验证器都直接从Component继承,并实现一个IControlValidator
接口.我愿意改变它,让它们从ValidatorComponent
基类继承,如果有帮助的话.
我想到了几个解决方案,但要么我不喜欢它们,要么我不能让它们工作:
使验证器成为不可见的控件,并且复合验证器包含它们,类似于它的Panel
作用;
这个我不喜欢,因为它更像是一个黑客,不得不把它们放在真正的控制之中,只是感觉不对;
使用工具栏时使用集合编辑器;
我环顾网络,发现了几篇关于此的文章,但我无法让它发挥作用.至少没有建立我自己的编辑表格,这对于实验项目来说太麻烦了.
我承认我没有花太多时间尝试这个,因为我意识到使用标准CollectionEditor
会把我锁定到使用一组固定的验证器类型(它会,不是吗?).
我还想过创建一个ValidatorReference
具有单一属性类型的简单类,IControlValidator
并将其用作简单集合编辑器的元素类型.然后我会添加其中一个,并在其属性网格中将属性设置为现有的验证器组件.这个似乎很容易上班,但失去吸引力,因为它是如此明显的黑客.
任何人有任何其他想法?有什么我想念的东西,这其实很简单吗?