【发布时间】:2019-09-16 15:33:11
【问题描述】:
[带有虚假条目的下拉列表][2]我几年前在 Visual Studio 2010 中创建了一个应用程序。它在应用程序的许多工具条中广泛使用了一个复选框。它们都能完美运行。
我最近开始使用旧应用程序中的大部分代码在 WS 2019 中创建一个新应用程序。除了工具条中的复选框外,一切正常。当我尝试将复选框插入任何表单工具条时,复选框不在下拉列表中。此外,列表中有一个名为 crtoolstriptectbox 的虚假项目,它出现在预期复选框项目的分隔符下方。这个虚假条目实际上可以插入一个文本框(这是不想要的)。
应该在任何工具条中插入复选框的类没有。但是,如果我创建一个新的测试解决方案并在类中复制,然后在测试表单中插入一个工具条,它可以完美运行,并且不会出现虚假的 crtoolstriptectbox。
我已经搜索了整个应用程序以寻找虚假项目的实例,但没有任何结果。我尝试创建一个新解决方案并从非工作版本复制所有文件,但结果是相同的。虚假条目出现在下拉列表中,复选框不出现。我无法在任何形式的工具条中创建复选框。
这是我正在使用的代码...
我已经搜索了整个应用程序以寻找虚假项目的实例,但没有任何结果。我尝试创建一个新解决方案并从非工作版本复制所有文件,但结果是相同的。虚假条目出现在下拉列表中,复选框不出现。我无法在任何形式的工具条中创建复选框。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.Design;
using System.Drawing;
namespace tt
{
[System.ComponentModel.DesignerCategory("code")]
[ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.ToolStrip)]
// [ToolboxBitmap(@"..\..\Images\CheckBox.bmp")]
public class ToolStripCheckBox : ToolStripControlHost
{
public ToolStripCheckBox()
: base(new CheckBox())
{ }
public CheckBox checkBoxControl
{
get
{
return Control as CheckBox;
}
}
public bool isChecked
{
get
{
return checkBoxControl.Checked;
}
set
{
checkBoxControl.Checked = value;
}
}
protected override void OnSubscribeControlEvents(Control c)
{
// Call the base so the base events are connected.
base.OnSubscribeControlEvents(c);
// Cast the control to a MonthCalendar control.
CheckBox CheckBoxControl = (CheckBox)c;
// Add the event.
CheckBoxControl.CheckedChanged += new EventHandler(OnCheckedChanged);
}
protected override void OnUnsubscribeControlEvents(Control c)
{
// Call the base method so the basic events are unsubscribed.
base.OnUnsubscribeControlEvents(c);
// Cast the control to a MonthCalendar control.
CheckBox CheckBoxControl = (CheckBox)c;
【问题讨论】:
-
一张图片真的很有帮助,我们无法根据这些信息回答这个问题 - 你需要缩小范围
-
我找不到在这里添加图片
-
当你edit你的问题时,有一个按钮工具条,带有相机图标的按钮
-
我尝试通过拖放来包含图像,然后转到以下“无法提交您的编辑。请看上面的错误,但上面没有错误。
-
下拉列表长这样...