草庐IT

Winforms

全部标签

c# - 如何删除时间并仅在 RDLC 中显示日期

我正在使用Winform(C#)和RDLCMySQL。因为我尝试只在Tablex中显示日期。但是这种日期格式也有时间。如何删除时间。我的表达是,..=Fields!date.Value请参阅下面的报告。提前致谢?我在表达式中尝试了=Fields!date.Value.ToString("dd/MM/yyyy")但它通过错误,..错误1​​验证时出错。HRESULT='8000000A' 最佳答案 您可以使用FormatDateTime方法:=FormatDateTime(Fields!date.Value,DateFormat.Sh

c# WinForms - 在单击某些项目后防止 ContextMenu 关闭

我正在使用System.Windows.Forms.ContextMenu。我想这样做,所以当您单击某些按钮时,它不会关闭菜单。现在我让它工作,只要你点击一个,它就会在同一位置重新打开菜单。唯一的问题是它看起来很糟糕,因为您可以看到菜单闪烁。有没有更好的方法来做到这一点?WPF的ContextMenu具有StaysOpen属性,但WinForms没有。(有什么方法可以使用WPF的ContextMenu吗?)我不想使用ContextMenuStrip,它可以做到这一点,因为ContextMenu看起来好多了。编辑:我不会将此标记为解决方案,因为这样做不好。如果您需要按照我的问题进行操作,

c# - ListBoxItem 中的复杂 UI

在WPF中,我可以将任何UI添加到ListBoxItems通过提供ListBox与ItemTemplate:结果是:有没有办法在Windows窗体中实现相同的目标?编辑:1-有没有办法在Windows窗体中实现相同的目标,同时保持separationofconcernsView之间和ApplicationLogic以这样的方式,如果我以后想完全重新定义View,我不必重构整个应用程序?2-winforms是否以这样一种方式支持数据绑定(bind),即我的每个ListBoxItems可以绑定(bind)到一个复杂的Entity,最终包括从模型数据到UI数据并返回的中间类型转换,这样我就不

c# - 检查滚动条是否在数据 GridView 中可见

如果数据GridView很长并显示滚动条,我想显示一些内容,但不知道如何检查滚动条是否可见。我不能简单地添加行,因为有些行可能不可见。我无法使用事件,因为我的代码已经在事件中。 最佳答案 你可以试试这个:foreach(varscrollindataGridView1.Controls.OfType()){//yourcheckinghere//specifically...if(scroll.Visible)} 关于c#-检查滚动条是否在数据GridView中可见,我们在StackOv

c# - 确定 ListView 中点击的列

我需要在C#的ListView中点击列我有一些示例代码来自HowtodeterminetheclickedcolumnindexinaListview但我不确定我应该如何实现它。 最佳答案 哎呀,大家都懒得贴代码了。该过程分为三个步骤:使用Control.MousePosition获取鼠标位置并转换为客户端坐标。调用HitTest函数来查找鼠标指向的位置。这将返回一个包含大量信息的对象,但实际的列号除外...使用IndexOf搜索子项数组以查找列号。代码如下:privatevoidlistViewMasterVolt_DoubleC

c# - 系统参数异常 : Complex DataBinding accepts as a data source either an IList or an IListSource

我正在使用下面的C#代码来填充WinFormsListBox。但是我想隐藏所有系统文件夹。例如$RecyclingBin。但它给了我以下错误。System.ArgumentException:ComplexDataBindingacceptsasadatasourceeitheranIListoranIListSource.作为LINQ的新手,这让我很困惑。谁能告诉我哪里出错了?string[]dirs=Directory.GetDirectories(@"c:\");vardir=fromdindirswhere!d.StartsWith("$")selectd;listBox.Da

c# - 获取 CheckBoxList 项目值

我有一个正在填充数据的CheckBoxList。当我尝试从列表中检索选中的项目时,我只能获取项目序号,而无法获取值。我读过您可以使用Items[i].Value,但是当我尝试这样做时,我收到一条错误消息,指出没有扩展方法“值”。这是我用来尝试获取信息的代码(注意GetItemText(i)实际上只给我项目位置,而不是项目的文本)privatevoidbtnGO_Click(objectsender,EventArgse){for(inti=0;i这是使用.Net4.0任何想法将不胜感激......谢谢 最佳答案 这最终变得非常简单。

c# - 错误 (HttpWebRequest) : Bytes to be written to the stream exceed the Content-Length bytes size specified

我似乎无法弄清楚为什么我不断收到以下错误:BytestobewrittentothestreamexceedtheContent-Lengthbytessizespecified.在以下行:writeStream.Write(bytes,0,bytes.Length);这是一个Windows窗体项目。如果有人知道这里发生了什么,我肯定会欠你一个。privatevoidPost(){HttpWebRequestrequest=null;Uriuri=newUri("xxxxx");request=(HttpWebRequest)WebRequest.Create(uri);request

c# - WinForms 文本框的自定义插入符号

我正在WinForms.Net2.0应用程序中开发自定义super终端应用程序。我在面板中有一个多行文本框,您可以在其中与硬件设备进行交互。我的客户想要一个自定义插入符号,一个大小为一个字符空间的填充矩形,而不是默认的垂直线。我知道.Net默认不提供执行此操作的选项,但必须有一些Windows函数才能执行此操作。 最佳答案 这些是Windows提供的nativeCaret函数列表,您可以将它们用于您的应用程序。[DllImport("User32.dll")]staticexternboolCreateCaret(IntPtrhWn

c# - 锁定属性,好方法?

在我的多线程应用程序中,我使用了一些可以同时被多个实例更改的变量。这很奇怪,但它工作正常,没有任何问题……但我当然需要让它成为线程安全的。我刚开始使用锁,所以我会感谢您的建议:当客户端连接时,会创建类Client,其中每个客户端都有自己的“A”变量。有时,客户端调用这样的方法:ClientselectedClientSelectOtherClientClassByID(sentID);selectedClient.A=5;直到现在,即使5个类同时执行(线程池)也没有问题,但我在考虑向A属性添加锁怎么样?喜欢:A{get{returnmA;}set{//uselockhereforset