我正在研究一个较旧的.NET代码库,它将所有设计器代码都填充到与我的代码相同的代码文件中(预部分类).
是否有一种机制告诉Visual Studio 2008返回并将设计器代码重构为X.designer.cs分部类文件?
我在ComboBox
这个代码的winforms应用程序上有一个:
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
DataTable t = new DataTable();
t.Columns.Add("ID", typeof(int));
t.Columns.Add("Display", typeof(string));
for (int i = 1; i < 2000; i++)
{
t.Rows.Add(i, i.ToString("N0"));
}
comboBox1.DataSource = t;
comboBox1.ValueMember = "ID";
comboBox1.DisplayMember = "Display";
Run Code Online (Sandbox Code Playgroud)
然后,当窗口打开时,我按照以下步骤操作:
ComboBox
下拉按钮 - 显示项目列表并选择文本ComboBox
这是一个错误ComboBox
吗?如果重要的话,我正在使用Windows 7.我是以ComboBox
某种方式配置错误的?
另请注意,使用KEYBOARD会使用自动完成下拉菜单.所以上/下箭头键正在使用前窗,但鼠标正在使用后窗.
Reactive UI中有几种扩展方法,用于获取属性更改的可观察对象.
我想我明白WhenAny
和WhenAnyValue
. WhenAny
用于一系列属性更改通知,其中您希望哪个对象和属性的元数据发生了更改,而WhenAnyValue
当您真正想要更改值的流时.
首先,这是一个准确的评估吗?
怎么样WhenAnyDynamic
,WhenAnyObservable
和ObservableForProperty
?我无法弄清楚它们的用途,或者它们与前两个有何不同.它们都是供公众使用的吗?他们的目的是什么?
Visual Studio一直这样做:
[DataContract]
public class MyContract
{
[DataMember]
public bool MyBool { get; set; }
[DataMember]
public string MyString { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想这个:
[DataContract]
public class MyContract
{
[DataMember] public bool MyBool { get; set; }
[DataMember] public string MyString { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果'公共类MyContract'与[DataContract]在同一行,那没什么大不了的.
Visual Studio似乎有很多详细的autoformatting选项,但我找不到任何关于属性之后的换行符.我在这里错过了什么吗?或者它是不可用的.
编辑:至少,我想要一个"不要改变我输入的"格式化选项,而不是"总是插入"或"总是删除"换行选项.在我输入后它保持我的代码格式化是非常烦人的.
我有一个ClickOnce应用程序,它将所有旧版本留在我的磁盘上.这是一个经常更新的内部企业应用程序,因此这对于快速扩大我们的备份大小来说是一场灾难.
根据文档和其他Stack Overflow问题,它应该只保留当前和以前的版本在磁盘上.但是,每次部署项目并升级客户端时,我都会获得所有EXE,DLL和数据文件的另一个副本.我没有对应用程序进行任何更改,只是在Visual Studio中再次推送部署.
我该如何解决这个问题?
问题似乎发生在Windows 7和Windows XP,以及64位和32位Windows上.
我已经完成了安装版本的文件夹的差异,以下文件是不同的:
MyApp.exe.manifest
MyApp.exe.cdf-ms
MyDll1.cdf-ms
MyDll2.cdf-ms
Run Code Online (Sandbox Code Playgroud)
没有实际的可执行文件是不同的,也不是MyApp.manifest
,MyDll1.manifest
等
如何替代.在运行时查找包含我的应用程序的其他文件夹并删除它们是否安全?那会破坏什么吗?
ClickOnce只是一个明显神秘的黑盒子吗?
我有一个带有单个ToolStripStatusLabel的StatusStrip,Spring = true和通知的背景颜色.
问题是状态条右侧有一个丑陋的灰色方块.摆弄了一段时间后,我意识到这是尺寸调整(我设置为SizingGrip = false,GripStyle = Hidden).然而,即使隐藏它,它仍然占据了空间.我无法将状态条上的任何内容一直延伸到右侧.
你会如何解决这个问题?注意我不能只设置StatusStrip的背景颜色,因为状态标签会更改颜色并具有一些淡入淡出效果.
我在设置Entity Framework 4模型时遇到问题.
Contact对象在数据库中公开为可更新视图.此外,由于数据库的历史记录,此联系人视图有两个不同的密钥,一个来自遗留系统.所以其他一些表引用了一个带有'ContactID'的联系人,而其他旧表引用了一个'LegacyContactID'.
由于这是一个视图,因此数据库中没有外键,我正在尝试在设计器中手动添加关联.但是,流畅的关联似乎没有提供指定引用哪个字段的方法.
我该如何建立这个模型?
public class vwContact
{
public int KeyField { get; set; }
public string LegacyKeyField { get; set; }
}
public class SomeObject
{
public virtual vwContact Contact { get; set; }
public int ContactId { get; set; } //references vwContact.KeyField
}
public class LegacyObject
{
public virtual vwContact Contact { get; set; }
public string ContactId { get; set; } //references vwContact.LegacyKeyField
}
ModelCreatingFunction(modelBuilder)
{
// can't set both of these, right?
modelBuilder.Entity<vwContact>().HasKey(x => …
Run Code Online (Sandbox Code Playgroud) 在Visual Studio 2015中,我遇到了Ctrl + H快捷方式的问题.在过去,如果我选择了文本并按下了组合键,则替换框默认为"选择".但现在它违反了"当前文件".如果我将其更改为"选择",则下次我按Ctrl + H时不会保留该设置
我不确定我是否意外更改了设置,或者自从我安装2015版以来它总是如此
我正在使用[System.Web.Script.Services.ScriptService]标记来使用可从客户端javascript调用的Web服务.我需要的是一种全局记录这些方法中任何未处理的异常的方法.在客户端,我得到错误回调并可以从那里继续,但我需要一个服务器端catch来记录异常.
这个网址的人:http: //ayende.com/Blog/archive/2008/01/06/ASP.Net-Ajax-Error-Handling-and-WTF.aspx
表明这不可能做到.
那是准确的吗?我是否真的必须在整个系统中使用每一个web方法并尝试/捕获整个方法.
基本上,我想要这样的东西:
Dictionary<object, string> dict = new Dictionary<object, string>();
dict.Add(null, "Nothing");
dict.Add(1, "One");
Run Code Online (Sandbox Code Playgroud)
是否有任何内置到基类库中允许这样做?添加null键时,前面的代码将在运行时抛出异常.
谢谢
c# ×6
.net ×3
winforms ×2
ado.net ×1
asp.net ×1
asp.net-ajax ×1
autocomplete ×1
clickonce ×1
collections ×1
combobox ×1
deployment ×1
grip ×1
idictionary ×1
reactiveui ×1
statusstrip ×1