草庐IT

C#如何调用多个参数

我使用下面的代码来访问我的表单上的属性,但今天我想将内容写入ListView,这需要更多参数。publicstringTextValue{set{if(this.Memo.InvokeRequired){this.Invoke((MethodInvoker)delegate{this.Memo.Text+=value+"\n";});}else{this.Memo.Text+=value+"\n";}}}如何添加多个参数以及如何使用它们(value,value)? 最佳答案 (编辑-我想我误解了原来的问题)简单地让它成为一个方法而不

c# - lock(this) 和静态对象上的锁之间的区别

以下两个代码片段中哪个更好用?staticreadonlyobject_locker=newobject();lock(_locker)或lock(this)this是当前实例的一个对象。那么,为什么lock(_locker)总是在书中?Related:Whatisthedifferencebetweenlock(this)andlock(thisLock)?Whyislock(this){…}bad? 最佳答案 可能会有很大的不同。两者之间最大的区别在于第一个示例使用单个对象锁定(因此使用static关键字),而第二个示例中的th

c# - 如何重新解释将 float 转换为 int?是否有用于 'this' 转换的非静态转换运算符或用户定义的赋值运算符?

这个问题在这里已经有了答案:Convertintbitstofloatbits(8个答案)关闭2年前。1.我如何重新解释将float转换为int(或将double转换为long)?floatf=2.0f;inti=(int)f;//causesconversion我只想将位模式从f复制到i。如何做到这一点?2。C#中的隐式和显式运算符使用一个中间对象,因为运算符函数是静态的publicstaticimplicitoperatorMyClass(doubles){returnnewMyClass(s);}....MyClassm=2.2;//thiscodeuses'm'andonein

c# - ListView onScroll 事件

我正在编写一个简单的C#应用程序,我需要Listview上的onScroll事件。所以我创建了继承原始ListView的类ListviewEx女巫。我找到了如何检测来自WinAPI的滚动消息并修改了WndProc方法。现在我有了这个WndProc:protectedoverridevoidWndProc(refMessagem){base.WndProc(refm);if(m.Msg==WM_VSCROLL){onScroll(this,newEventArgs());}}但问题是,我不知道如何检测有关滚动的信息。此数据应在WParam中,但在C#中没有像C++中那样的LOWORD宏,

c# - 启动时隐藏表单 : why doesn't this. Hide() 隐藏我的表单?

我想在启动时隐藏我的应用程序的主窗口,所以我把它放在构造函数中:this.Hide();但这并没有隐藏我的表格。好像我只能得到按钮来隐藏表单。我在这里做错了什么吗? 最佳答案 你可以使用这行代码。它不会隐藏它,但会最小化:this.WindowState=FormWindowState.Minimized;此外,如果您也不希望它显示在任务栏上,您可以添加这一行:this.ShowInTaskbar=false;但是,如果您一开始就不想让表单可见,为什么还要创建表单呢? 关于c#-启动时隐

C# Form.TransparencyKey 对不同颜色的工作方式不同,为什么?

昨天我发现了一些很奇怪的东西(我认为)。看起来Form.TransparencyKey根据用作BackgroundColor和TransparencyKey的颜色给出不同的结果。如果您想重现此内容,请执行以下操作:创建新的Windows窗体应用程序在表单上拖放一个面板将BackgroundColor设置为“Green”并将Form1的TransparencyKey也设置为Green运行程序并将带有“孔”的Form放在某物上,您会看到您可以点击该孔(如MSDN所述)现在将两种颜色都更改为“红色”并运行应用程序-您会看到“洞”,但您无法再点击它你知道为什么会这样吗?规则是什么?我将.NET

c# - Roslyn 代码分析器——什么时候应该使用 "this."?

在使用实例成员时,我总是明确地使用我的代码,在它们前面加上this.和静态成员,在它们前面加上类型名称。Roslyn似乎不喜欢这样,并礼貌地建议您可以在代码中适本地省略this.和Type.......所以我会在哪里做这个。..(没有双关语意)publicvoidDoSomethingCool(){this.CallAwesomeMethod();CoolCucumber.DoSomethingLessAewsome();}...roslyn建议我这样做...publicvoidDoSomethingCool(){CallAwesomeMethod();DoSomethingLessA

c# - MessageBox.Show() 自定义图标?

我想在MessageBox.Show("Message","Title",MessageBoxButton.OK,MeesageBoxIcon.myIcon)方法中使用自定义图标。有什么建议吗? 最佳答案 我刚才写了一个,它的工作原理与常规消息框类完全一样。CustomMessageBox(类):http://pastebin.com/m8evBmZiusingSystem;usingSystem.Drawing;usingSystem.Windows.Forms;publicstaticclassCustomMessageBox{

c# - 接口(interface)继承多个接口(interface) : how is this handled by a C# compiler?

最近我发现C#允许Aninterfacecaninheritfromoneormorebaseinterfaces.例如,Caliburn.Micro中的IScreen在http://caliburnmicro.codeplex.com/SourceControl/latest#src/Caliburn.Micro/IScreen.cs中执行此操作namespaceCaliburn.Micro{publicinterfaceIScreen:IHaveDisplayName,IActivate,IDeactivate,IGuardClose,INotifyPropertyChangedE

C# 验证 : IDataErrorInfo without hard-coded strings of property name?

实现IDataErrorInfo的最佳做法是什么?无论如何都可以在没有属性名称硬编码字符串的情况下实现它? 最佳答案 通用验证例程的基类您可以使用DataAnnotations如果您在IDataErrorInfo实现中做了一些futzing。例如,这是我经常使用的基本View模型(来自Windows窗体,但您可以推断):publicclassViewModelBase:IDataErrorInfo,INotifyPropertyChanged{publiceventPropertyChangedEventHandlerPropert