草庐IT

WinForms

全部标签

c# - 文本框自动完成(多行)

我正在使用C#进行自动建议/完整文本框,我点击了以下链接,但文本框未显示建议​​Howtocreateautosuggesttextboxinwindowsforms?//--------Getalldistinctdescription-----------------------------OleDbCommandcommand=newOleDbCommand(Queries.qry16,Connection);OleDbDataReaderreader=command.ExecuteReader();//---------Storing----------------------

c# - 如何拦截所有键盘事件并防止在 WinForms 应用程序中失去焦点?

我的一个friend是盲人,我想开发一个程序,让他在盲打法和听觉反馈的帮助下使用PC。如果我的应用程序一启动就可以强制完全控制整个键盘输入,那么体验会更加丰富(针对特定功能使用更多键)和完美无瑕(比如防止偶尔失去焦点)(我会把它放在在为他启动)。我是一名WinFormsC#.NET开发人员,所以我想在使用这个特定框架和语言的应用程序中实现它(尽管不要介意包装的WinAPI调用)。PS:我不介意系统控制Ctrl+Alt+Del组合,但我想控制所有其他键和组合,包括WindowsLogo和标准应用程序启动器按钮。 最佳答案 您可以使用低

c# - 检测 TextBox 中的 Tab 键按下

我正在尝试检测TextBox中的Tab键按下。我知道Tab键不会触发KeyDown、KeyUp或KeyPress事件。我在网上找到:DetectingtheTabKeyinWindowsFormsofBlackWasp。他们建议覆盖我所做的ProcessCmdKey,但它也没有被触发。是否有可靠的方法来检测Tab键按下?protectedoverrideboolProcessCmdKey(refMessagemsg,KeyskeyData){boolbaseResult=base.ProcessCmdKey(refmsg,keyData);if(keyData==Keys.Tab&&t

c# - 如何验证 DataGridViewCheckBoxCell 是否被选中

我已经将一个数据表绑定(bind)到一个DataGridView,这个数据表有一个名为“Status”的列,它是Boolean类型。我可以通过代码将值设置为true或false就好了。但是,我不知道如何检查给定的行是否已经被选中。这是我尝试使用的代码,编译它时显示错误“指定的转换无效”。如有任何帮助,我们将不胜感激。if(rowIndex>=0){varcbxCell=(DataGridViewCheckBoxCell)dgvScan.Rows[rowIndex].Cells["Status"];if((bool)cbxCell.Value){//Dostuff}else{//Doot

c# - 如何将图像保存到数据库?

我在尝试将图像保存到数据库时遇到此错误。我做错了什么?这是我的表格设计:我使用的是MicrosoftServer2008。 最佳答案 你有两个问题:关于SQLServer中的Image数据类型的(可以理解的)混淆。这实际上只是一个大的二进制对象(通俗地说就是BLOB)。为了在此列中保存图像(或任何其他内容),您必须先将其转换为byte[],然后将该字节数组存储在列中。您使用的是Image数据类型,该数据类型已被弃用。如果您可以控制此设计,请将其更改为使用varbinary(MAX)。虽然Image类型仍在SQLServer2008R

c# - TableLayoutPanel 大小调整

我可能没有使用我想要的正确控件。我正在用控件填充表格,我希望每一列的大小自动适应其中包含的控件。例如,一列文本框将比一列复选框宽。由于不同操作系统、不同DPI、不同字体等的复杂性,我不想摆弄测量,如果我能帮助的话。表格可以水平扩展以适应控件,带有滚动条。使用TableLayoutPanel-或其他一些控件,这怎么可能?谢谢。编辑添加代码:privatevoidUpdateLocations(){tableLayoutPanel1.RowCount=CurrentSchedule.location.Length+1;tableLayoutPanel1.ColumnCount=7;intr

c# - 放置在 TableLayout 中的停靠控件的大小不会自动小于其创建大小

这个问题展示得比解释的好,所以我设置了一个gitrepoVisualStudio2010项目,用于查看实际问题。我有一个项目,我在其中添加了ComboBox控件(comboField)到TableLayout控件(tableLayoutPanel1)。我设置了DockComboBox的属性为Fill以便它填充它所在的TableLayout控件的单元格。我还设置了DockTableLayout控件的属性为Fill以便它填充放置它的表单。ComboBox的宽度当前为193像素。当我运行表单并增加其宽度时,ComboBox的大小如预期的那样增加了。当我减小窗体的大小时,ComboBox的大小

c# - 在 x86 上处理非常大的列表

我需要处理大量的float列表,但我在x86系统上遇到了内存限制。我不知道最终长度,所以我需要使用可扩展的类型。在x64系统上,我可以使用.我当前的数据类型:Listparam1=newList();Listparam2=newList();Listparam3=newList();publicclassRawData{publicstringname;publicListdata;}paramN列表的长度很低(目前为50或更低),但数据可以超过10m。当长度为50时,我在1m数据点上方达到内存限制(OutOfMemoryException),而当长度为25时,我在2m数据点上方达到内

c# - 如何将面板添加到 SplitContainer?

我正在使用SplitContainer,它只包含2个面板,但我需要3个(面板)。问题:是否可以向SplitContainer添加更多面板?ifYEShow?elsewhynot?谢谢:-) 最佳答案 严格来说,这是不可能的。但是,您始终可以在第一个SplitContainer的面板中使用第二个SplitContainer以获得类似的结果。 关于c#-如何将面板添加到SplitContainer?,我们在StackOverflow上找到一个类似的问题: http

c# - 我可以在 DLL 中嵌入其他文件吗?

我正在通过API为另一个应用程序编写插件。插件以DLL的形式分发。是否可以在DLL文件中嵌入其他文件,如pdf、图像、chm帮助文件等...我希望能够为我的插件提供文档,但我仍然希望保留分发插件的能力-作为单个文件,用户只需拖放到应用程序上即可安装。 最佳答案 当然,您可以在DLL中嵌入资源。然后在运行时你只需做:Streamstream=Assembly.GetExecutingAssembly().GetManifestResourceStream("com.stackoverflow.plugin.example.Foo.pd