草庐IT

Winforms

全部标签

c# - 通过代码向 Winforms DataGridView 添加新列

我正在尝试为给定月份的每一天添加N列:vardaysCount=DateTime.DaysInMonth(DateTime.Now.Year,month);for(inti=1;i我收到这个错误:AtleastoneoftheDataGridViewcontrol'scolumnshasnocelltemplate. 最佳答案 当您创建一个新的datagridview列时,它是相当空白的。您需要设置celltemplate列,以便它知道要为网格中的单元格显示哪些控件。或者,我认为如果您使用一些更强类型的列(DataGridViewT

c# - 从 C# 调用 ActionScript 3 函数

我在Windows窗体中嵌入了一个Flash影片(使用组件“VisualStudio8中包含的ShockwaveFlash对象”)。Flash影片是使用FlashCS4创建的,并使用ActionScript3。是否可以使用C#调用Flash影片中的ActionScript函数返回值?此外,我的Flash影片是否可以在返回值的主应用程序中调用C#函数? 最佳答案 为了使ActionScript函数可从Flash播放器的主机调用,您必须使用ExternalInterface.addCallback函数,例如:ExternalInterf

c# - Winforms 中带有水平文本的垂直选项卡控件

我希望我的TabControl上的选项卡显示在左侧,有时也显示在右侧。但是,与System.Windows.Forms.TabControl不同,我希望文本保持水平而不是相对于水平旋转90或270度。这里有几张图片说明了这个概念虽然我可以自己编写代码在大约一两个小时内完成此操作,但我只是想首先询问是否有任何现有的Winforms控件实现了此类功能。注意:任何现有解决方案最好是非商业性的。谢谢。 最佳答案 我不知道它有多稳健,我也不能声称自己创造了它,但是......http://www.dreamincode.net/forums/

c# - 动画 : Sliding & Fading controls on a C# form (winforms)

我正在尝试实现一种优雅地围绕(可能同时有多个)控件设置动画(转换、淡入淡出)的方法。例如,假设我在左上角有一张图片,在右下角有一个文本框,我希望能够让它们平滑地滑过窗口并切换位置。我已经工作了一段时间,但还没有想出任何可以顺利或轻松实现这一目标的方法。 最佳答案 查看dot-net-transitionsGoogleCode上的项目。现在有一个克隆Githubhere.它也可以作为dot-net-transitions在nuget上使用。它支持各种线性/非线性过渡,包括可用于更复杂效果(如涟漪)的复合过渡。这是一个工作示例,可以演示

C#:如何避免在双击事件中发生 TreeNode 检查

所以我在C#Windows窗体应用程序中有一个TreeView。我需要的是一些节点被“锁定”,这样它们就不能根据参数被检查(或取消检查)。我现在做的是这样的:privatevoidtv_local_BeforeCheck(objectsender,TreeViewCancelEventArgse){TNodenode=(TNode)e.Node;//ifapartnode,canceltheaction.if(node.Type=="Part"){e.Cancel=true;}//ifalockednode,canceltheactionif(node.Locked==true){e.

c# - 导入 Windows 窗体 (C#)、Visual Studio 2012

尝试将现有Windows窗体添加到VS2012WinForm项目中,我进入“添加/现有项目...”,然后导入:MyForm.cs、MyForm.designer.cs、MyForm.resx这曾经在早期版本的VS中有效。(我可能需要调整命名空间。)在VS2012中,出于设计器的目的,MyForm.designer.cs和MyForm.resx现在不与表单相关联;即它们在解决方案资源管理器中显示为单独的文件条目,而不是嵌套在MyForm下。双击MyForm会显示一个没有错误消息的空窗体(无控件)。项目编译运行OK。但是,当我将相同的文件拖放到项目中(调整/重命名命名空间)时,表单文件正确

c# - 持续运行 BackgroundWorker

我需要能够持续运行我的BackgroundWorker。DoWork事件包含池线程进程,OnComplete更新我的UI。我无法找到一种方法来无限循环BackgroundWorker.RunWorkerAsync()方法而不卡住整个程序。任何帮助将不胜感激。 最佳答案 您必须在DoWork-Method中创建一个循环。要更新您的UI,您应该使用ProgressChanged-Method。这是一个小例子,这看起来像publicTest(){this.InitializeComponent();BackgroundWorkerback

c# - 具有多列的 WinForms 组合框 (C#)?

我目前正在使用以下代码来填充组合框:combobox.DataSource=datatable;combobox.DisplayMember="Auftragsnummer";combobox.ValueMember="ID";有没有办法显示多列。我为DisplayMember尝试了“Auftragsnummer、Kunde、Beschreibung”,但它没有用。 最佳答案 您不能有多个列。虽然您可以将多个字段连接为显示成员查看:HowdoIbindaCombosothedisplaymemberisconcatof2fields

c# - Screen.AllScreen 未提供正确的显示器计数

我正在我的程序中做这样的事情:Int32currentMonitorCount=Screen.AllScreens.Length;if(currentMonitorCount我的应用程序识别当前连接了多少台显示器非常重要。但是,在我插入/拔下显示器几次后,Screen.AllScreens.Length总是返回“2”。我的显示器知道它没有连接(它已进入“省电”模式),并且控制面板知道它没有连接(它只显示一台显示器)。那我错过了什么?我怎么知道只有一台显示器? 最佳答案 我查看了源代码(记住我们可以使用MSSymbol服务器来做到这一

c# - ProgressBar 在 Windows 窗体中很慢

我使用的是WindowsVista和VisualStudio2010。创建一个.Net4Windows窗体应用程序。在默认表单上放置一个进度条,添加代码来处理表单加载事件并在那里执行progressBar1.Value=100;。开始调试,您会看到一个动画,在大约半秒内将进度条移动到100。我的项目需要2个进度条。一个是“全局进度”,第二个是“当前步骤进度”,所以第二个从0到100,然后回到0进行下一步。问题是一些快速步骤的进度条很慢,它永远不会达到100,而且看起来很奇怪。有没有办法摆脱那个动画?在WPF中没问题,但我宁愿继续使用Windows窗体。 最佳