- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
简单问题:我正在检查组合框是否已使用 string.IsNullOrEmpty()
选择了一个项目。问题是,即使选择了 is,也会出现错误消息。我做错了什么?
这是我的代码:
private void button1Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(comboBox1.SelectedText))//here should skip to else - but doesn't
{
MessageBox.Show("You must select a conversion type", "Error");
}
else
{
if (comboBox1.SelectedText == "Currency")
{
double input = Convert.ToDouble(textBox1.Text);
if (!string.IsNullOrEmpty(comboBox2.SelectedText))
{
string type = comboBox2.SelectedText;
double result = convertCurrency(type, input);
if (result != -1)
{
label1.Text = Convert.ToString(result);
}
}
else
{
MessageBox.Show("You must select a conversion type", "Error");
}
}
else
{
MessageBox.Show("curency");
}
}
}
注意:这是我的第二个 C# 程序 - 如果我很愚蠢,请不要对我大喊大叫。
最佳答案
通常是一些观察/建议。
首先,您使用的是字符串值并基于这些值的逻辑,您可能想要研究使用 Enum 并将其所有值绑定(bind)到组合框。然后使用 SelectedItem 属性并将其与枚举进行比较。
当没有选择任何项目时,SelectedItem 将返回 NULL,另一个选项是使用 SelectedIndex,当没有选择任何项目时它将返回 -1。
所以对于 SelectedIndex,它会变成类似的东西;
if (comboBox1.SelectedIndex == -1)//Nothing selected
{
MessageBox.Show("You must select a conversion type", "Error");
}
else
{
//Do Magic
}
一般来说,只有在诸如 int 比较或更好的 enum 比较之类的“强”比较不可能时才应使用字符串比较。 (也许只有我一个人是这样,但字符串经常更改并且对这类东西来说只是可怕的。)
对于枚举建议,可以查看这些链接之一;
Binding an enum to a WinForms combo box, and then setting it
Load values of enum type into a combobox
Is it possible to load items from an Enum to a ComboBox in .NET 3.5?
Binding a ComboBox to an Enumeration
我不确定您使用的是哪个 .NET 版本和东西,因为在 WPF 中绑定(bind)比在旧的 Windows 窗体中绑定(bind)要容易得多(在我看来)。
关于c# - 验证组合框的 SelectedText 属性是否为空总是失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18122484/
我正在构建一个字符串,代码如下所示 String status = "The status of my combobox is " + comboBoxTest.SelectedText 我在 VS2
在WPF中,ComboBox没有SelectedText属性。 有没有一种方法可以实现与WPF中的TextBox SelectedText相同的功能 最佳答案 您可以使用以下方法访问ComboBox的
我有一个仅从 qtextedit 返回选定文本的函数。我需要获取纯文本,但此函数返回带有一些控制字符的文本。 例如:函数textEdit->textCursor().selectedText()返回:
问题: 如果我使用,我的组合框 (Me.cbHomeDrive) 无法正确初始化 Me.cbHomeDrive.SelectedText = "E:" 在 Form_Load 上: For i As
简单问题:我正在检查组合框是否已使用 string.IsNullOrEmpty() 选择了一个项目。问题是,即使选择了 is,也会出现错误消息。我做错了什么? 这是我的代码: private void
在我的 WinForms/C# 应用程序中,我可以选择 Combobox.Text或 Combobox.SelectedText返回所选内容的字符串值。有什么区别,我什么时候会选择一个而不是另一个?
每当我将焦点设置到 WinForms (.NET 3.5) 中的文本框时,整个文本都会被选中。将 MultiLine 设置为 true 或 false 都没有关系。似乎与该用户所看到的完全相反: Ma
我在 WPF-MVVM 中有一个组合框,我已经通过更改组合框的弹出框和文本框来设置组合框的样式。 当我滚动组合框列表项时,他们的背景是粉红色的,这就是我更改的内容。但是从组合框列表中选择一个项目后,组
我有一个带有 ContextMenu 的 TextBox。当用户在 TextBox 内右键单击并选择适当的 MenuItem 时,我想在我的 View 模型中获取 SelectedText。我还没有找
我正在尝试按 , 拆分文本。但是它抛出一个错误: selectedText.split is not a function 我错过了什么? var selectedText = $('#ToEmail
我正在 QTextEdit 中做一些事情。我为 QClipboard::changed() 信号写了一个插槽。在插槽中,我如何判断剪贴板中的文本是否来 self 的应用程序(而不是来自外部其他应用程序
我需要从 javaFX 的 webView 中获取选定的文本。我在互联网上找不到任何线索。 最佳答案 这可以用 JavaScript 完成: String selection = (String) w
我有以下代码,我想检查表行中的每个用户是否具有字符串“全部”的权限,并将“允许所有权限”设置为相应选择列表的 selectedText。
我想将组合框中的值作为参数传递给 SQL 语句。 Winforms 组合框为我提供了几种检索值的选项,即 SelectedItem、SelectedText 和 SelectedValue。在这种情况
我有这个代码 private void FrmNovedadMedidas_SelectionChangeCommitted(object sender, EventArgs e) {
我的 contentscript.js: chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
我是一名优秀的程序员,十分优秀!