我正在更新一个VB.NET项目,该项目需要在文本框中添加提示横幅和仅读取的组合盒(下拉式键=下拉列表).我正在开发的机器是Windows7.我正在将CUE文本添加到一个延长ComboBox并添加提示文本属性的类中.这就是将提示文本添加到Combobox的方式: '"Me" refers to a combobox that has been extended to include a Cue Text property SendMessage(New HandleRef(Me, Me.Handle), CB_SETCUEBANNER, IntPtr.Zero, _cueText) 上面的代码来自此博客:我在不同论坛上阅读了许多评论,以确保选择视觉样式并禁用东亚语言和复杂的脚本.我已经完成了所有这些,但仍然没有在XP上工作. 是否有人可以使用Cue横幅以在XP上工作? 解决方案 使用各种博客和论坛帖子,我创建了一个扩展ComboBox控件的类,并实现了在Wind
以下是关于 combobox 的编程技术问答
过去6个小时我一直在研究这个问题,但我遇到了令人沮丧的错误.目前,我想在我的空白Word文档中添加一个组合框,并用我在访问中创建的表中的字段中的数据填充它.我正在使用Visual Studio 2015作为我的IDE和单词2013文档模板. 错误 An exception of type 'System.Runtime.InteropServices.COMException' occurred in WordInvoice.dll but was not handled in user code Additional information: Provider cannot be found. It may not be properly installed. 我的数据库表 ID Employee Amount 1 Danny $100.00 2 Andy $200.00 3 Dixon $50.00 4 James $250.00 我的代码 Import
我在Excel表中具有输入A combobox.我希望它能正常工作,以便无法访问VBA的用户可以从dropdown中选择一个值,然后在另一个单元格中的值将在此值上执行vlookup. 在第一次实例中,我插入了一个盒子,并试图基于此设置单元格值. Sub InsertComboBox() #inserts dropdown box on the front page and sets the values as the list of DMA from the pipe_totals sheet #this should be the most complete list so will not change dependant on asset Dim arearange As Range Set arearange = Sheets("pipe_totals").Range("a:a") lastrowi = Application.WorksheetFunction.
我正在创建一个程序,有人可以将搜索输入文本框中,然后使用一系列组合蛋白(或者只使用ComboBoxes搜索所有内容). 该程序看起来像这样:表格1 我使用以下代码在第二组Combobox更改中做出了选项: Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged Dim type As String = ComboBox1.SelectedItem Dim make As String = ComboBox2.SelectedItem Dim model As String = ComboBox3.SelectedItem Dim version As String = TextBox2.Text Dim memory As String = TextBox3
回答这个问题: vs2010/c#:如何在IDE中设置ComboBox的默认值? 根据该用户,在Delphi IDE中,在"属性"窗口中可以在打开它时设置comboBox的 默认索引 最初 .但是,我在任何地方都找不到Default Index.当我的意思是最初的意思时,我的意思是不是通过编程方式,同时又有当时仅在最初打开时. 我已经尝试通过comboBox.SelectedIndex = 0设置索引,但是事实证明,每次运行程序时我都会设置它,因此不仅会发生这种情况,而且每次运行程序时都会发生.不是我想要的. 有人知道我可以在属性或参数事件窗口中做什么.? 最初打开程序时,这就是外观: 我的属性选项卡: 编辑:我可以创建一个全局整数计数器,该计数器在每次运行上递增,并在整数为0时将默认值设置为0,这意味着这是第一个运行以编程方式,这会更好. 解决方案 如果要将ComboBox的特定索引设置为默认值,则在form load中设置索引, pr
我试图将信息从组合键纠正到文本文件中,以便可以保存.如果Combobox中的信息是John,Marry,Jack,我希望它出现在这样的文本文件中: John Mary Jack 我当前使用的代码给出了文本文件中的JohnmaryJack的结果 For Each item As Object In cmbworld.Items Dim test As String test = item sb.AppendFormat("{0}", item) Dim FILE_NAME As String = "D:\Documents\test.txt" If System.IO.File.Exists(FILE_NAME) = True Then Dim objWriter As New System.IO.StreamWriter(FILE_NAME) o
我的Winform中有一个ComboBox,希望更改显示列表(带有三角形)的按钮或至少更改图像. 可能吗?我该怎么做? 谢谢! 解决方案 您应该使用OwnerDrawn在此处描述的技术: https://stackoverflow.com/questions/2891981/net-ownerdraw-combobox-vista-7-themed-dropdownlist 或您覆盖窗口proc并重新定义整个控制消息处理或从头开始创建自己的控件,或者使用第三方控件(例如devexpress winforms suite suite suite suite suite suite suite suite suite s suite或telerik over).
我试图用SQL结果填充组合 我认为我的问题是以数据表格处理数据. Dim sql As String Dim sqlquery As String Dim ConnectionString As String ConnectionString = "Data Source=(local);Initial Catalog=Control;Persist Security Info=True;User ID=user;Password=pass" sqlquery = "Select dbName from Databases" Using connection As SqlConnection = New SqlConnection(ConnectionString) connection.Open() Using conn As SqlCommand = New SqlCommand(sqlquery
在WPF中,我想在ComboBox上编程提出一个选择变化的事件.我尝试了以下代码,但它不起作用: myComboBox.RaiseEvent(new RoutedEventArgs(ComboBox.SelectionChangedEvent, myComboBox)); 我该如何提出该活动? 谢谢 解决方案 虽然这里的其他答案是一个很好的做法,但实际上并没有回答您的问题.为了实际回答您的编程性提出选择的问题,您可以做以下操作: RoutedEvent routed = ComboBox.SelectionChangedEvent; List remove = new List {myComboBox.Items[0] as ComboBoxItem},
我正在制作自定义组合,并从Winforms的标准组合ox继承.对于我的自定义组合,我将DrawMode设置为OwnerDrawFixed和DropDownStyle DropDownList.然后我写自己的OnDrawItem方法.但是我最终这样: 如何使我的自定义组合看起来像标准的组合? 更新1:ButtonRenderer 在四处搜索之后,我找到了 更新2:是什么覆盖我的控件? 我尝试使用我能想到的各种对象的图形属性,但我总是失败.最后,我尝试了表单的图形,显然有些东西正在覆盖我的按钮. 这是代码: Protected Overrides Sub OnDrawItem(ByVal e As System.Windows.Forms.DrawItemEventArgs) Dim TextToDraw As String = _DefaultText __Brush_Window.Color = Color.FromKnownColor(Kn
我试图从组合框列表中删除所有项目,该列表以"〜$"开头. For Each item As String In cstmcmbxDocs.Items If Not cstmcmbxDocs.Items.Contains("~$") Then Dim STR As Int16 = cstmcmbxDocs.FindString("~$") 'gets the index of the item which contains "~$" cstmcmbxDocs.Items.RemoveAt([STR]) End If Next ,但它仅返回一个删除的实例. 它不会继续搜索 - 我在这里缺少什么? (请注意,我使用的是3.5而不是4+,因为它需要与XP兼容) 解决方案 您无法在使用每个/下一个的情况下修改收集(添加或删除).您也不能使用标准For n As Int32循环.而是: For n As Int32 = cstmcmbx
有没有办法直接设置WPF Combobox控件的.Text属性? 我的连击键绑定到List集合,但是当我尝试在DropDownClosed事件中设置.Text属性时,它完全忽略了它. 解决方案 如果您试图将文本设置为列表中一个项目的文本,则应正确工作. 如果您试图将其设置为不在列表中的项目,则需要使用的属性为真.如果您实际上不希望用户输入组合框,则可以将ISReadonly属性设置为true. 如果这些情况都不适合您,您可以发布所使用的代码吗? 其他解决方案 您也可以尝试在可见度=折叠的情况下再添加一个comboboxItem,将其设置为所选项目,并将其内容设置为所需的内容.
尝试添加字符串以组合: BOOL CMyAppDlg::OnInitDialog() { CComboBox *combo= (CComboBox *)GetDlgItem(IDC_COMBO_TT); combo->AddString("s1"); combo->AddString("s2"); // ... return TRUE; } 为什么Combobox列表仍然为空? 解决方案 如果您调用组合 - > setCursel(0),您会看到第一个字符串吗?如果是这样,则意味着组合框下拉尺寸为零.在视觉对话框编辑器中,单击组合的向下箭头,然后将底部边缘向下拖动以调整下拉零件的大小.
我一直在尝试在我的MFC项目的"对话"项目中为我的ComboBox添加Data项目,并在设计时间通过设置Semi-Colons为Data属性的 的属性划定的字符串. ,但它只是在运行时显示空的连击.我也尝试在对话框的OnInitDialog()事件中手动使用此组合的方法.但这也不起作用. 尝试再次创建一个演示项目,当我添加ComboBox并将值a;b放在其a;b属性中时,它正在显示.但是在我的项目上尝试了同样的尝试,它仍在新的ComboBox中显示空列表!试图比较两个项目的代码,例如标题文件和初始化等.发现两者都是相同的.除了对按钮的某些事件声明和我的项目中的自定义C ++代码之外,其余的代码与新创建的演示项目的代码相同! 为什么在我的项目中,这个ComboBox显示了一个空的项目列表? :( 编辑: 只是注意到这些项目已经在列表中.但是下拉列表的高度很小,因此阻止了实际项目出现! :( 试图看起来增加了组合的大小,但是我在属性窗口中找不到任何属性,
我有一个1000个字符串的数组,可以加载到组合框中.将字符串数组加载到组合框的最快方法是什么? 除了在字符串列表上迭代,每次将每个字符串放入组合框一个外,还有其他方法吗? 以及如何将组合框数据复制到其他10个组合盒中? ? 解决方案 如果您在10个连击中重复了1,000个字符串,则可能需要考虑使用绘制的combobox,该组合将基于索引的字符串绘制为基于索引中的字符串,而不是将它们存储在combobox中.更快的方式,更有效的内存效率.在线帮助中查看 drawitem 方法和 draplitemstruct 结构.基本上,您会做一些使用 initstorage 和 insertstring (如Nusonic所述)来创建您的1000个空白项目,而Override drawitem 基于索引提取并绘制所需的字符串,因为需要绘制. 其他解决方案 我不知道有任何原子加载多个字符串的方法,但是有几件事可以使过程更有效: 在添加项目预先分配内存之前,请致电cco