我有一个带有下拉样式和2个文本框的组合框。我想添加一个条件,如果2个文本框中的任何一个的字符串不为空,那么如果从中选择任何项目,则应该重置组合框。
我在我的if子句中使用combobox.SelectedIndex=-1
,但它不起作用我猜是因为我在错误的事件中使用它。
答案 0 :(得分:0)
试试这个
combobox.Items.Clear();
或
combobox.DataSource = null;
我希望您能很好地管理Text_Changed事件,因为您还没有发布该代码
答案 1 :(得分:0)
确保两个文本框都使用TextChanged事件,然后将它们指向相同的方法。如果两个框都不为空,则组合框将重置。如果你想要它是一个或另一个,只需更改&&到||
private void TextBox_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text) && !string.IsNullOrEmpty(textBox2.Text))
{
comboBox1.SelectedIndex = -1;
}
}
答案 2 :(得分:0)
与c#中的clearselection相同 WF的命令是
#include <vector>
#include <memory>
class IUpdatable {
public:
virtual void onUpdate() = 0;
};
class IDrawable {
public:
virtual void onDraw() = 0;
};
class IEventable {
public:
virtual void onEvent() = 0;
};
class IObject {
public:
virtual ~IObject() = default;
};
class Button : public IObject, public IUpdatable, public IDrawable, public IEventable {
public:
void onUpdate() override {}
void onDraw() override {}
void onEvent() override {}
};
class NonVisibleButton : public IObject, public IUpdatable, public IEventable {
public:
void onUpdate() override {}
void onEvent() override {}
};
int main(){
std::vector <std::shared_ptr <IObject>> buttons = {
std::static_pointer_cast<IObject>(std::make_shared<Button>()),
std::static_pointer_cast<IObject>(std::make_shared<NonVisibleButton>())
};
std::vector <std::weak_ptr <IEventable>> eventables = {
std::dynamic_pointer_cast<IEventable>(buttons.at(0)),
std::dynamic_pointer_cast<IEventable>(buttons.at(1))
};
std::vector <std::weak_ptr <IDrawable>> drawbles = {
std::dynamic_pointer_cast<IDrawable>(buttons.at(0))
};
}