Удалите границу из поля комбинированного списка

Я могу предложить поставить точку в строке ввода

if (yourString.contains("."))

Это не лучший способ решить эту проблему, но это работает.

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String buff = scanner.nextLine();
        if (buff.contains(".")){
            double tempDouble = Double.parseDouble(buff);
            System.out.println(tempDouble);
        } else {
            int integer = Integer.parseInt(buff);
            System.out.println(integer);
        }
    }
5
задан Tester101 14 April 2009 в 01:51
поделиться

2 ответа

Возможно, вам вообще не нужен ComboBox. Предполагая, что вы используете Windows Forms, вы можете использовать стандартный TextBox и добавить свой список адресов электронной почты в его AutoCompleteCustomSource (и установить AutoCompleteSource в «CustomSource»).

Затем, если вы установите AutoCompleteMode в TextBox для «добавления» пользователя никогда не увидит полный список адресов электронной почты - они просто получат закрывающее соответствие, заполненное в TextBox при вводе. С небольшим запасом кода вы можете даже представить возможность циклически перебирать доступные элементы с помощью клавиш со стрелками вверх и вниз.

Редактировать

Теперь, когда вы обновили свой вопрос, я предлагаю совершенно другой подход.

Добавьте адрес электронной почты по умолчанию в качестве стандартного ярлыка. Черт возьми - добавь его как LinkLabel и сделай его кликабельным, чтобы он вел себя как ссылка mailto: на веб-странице. Рядом с этим ярлыком добавьте обычную кнопку. Установите для его свойства FlatStyle значение «System», для имени шрифта - «Marlett», а для заголовка - «u», чтобы у него была приятная «выпадающая кнопка».

Теперь добавьте ContextMenuStrip в форму и добавьте пункт меню. для каждого адреса электронной почты. Вы можете сделать это в коде довольно легко.

Теперь добавьте этот обработчик события Click для вашей кнопки:

private void button1_Click(object sender, EventArgs e)
{
    contextMenuStrip1.Show(button1, new Point(0, button1.Height));
}

Поэтому, когда кнопка нажимается, появляется меню, отображающее «альтернативные» адреса электронной почты. Все, что вам нужно сделать, это перехватить событие Click пунктов меню, чтобы «использовать» выбранный адрес электронной почты.

Установите для его свойства FlatStyle значение «System», для имени шрифта - «Marlett», а для заголовка - «u», чтобы у него была приятная «выпадающая кнопка».

Теперь добавьте ContextMenuStrip в форму и добавьте пункт меню. для каждого адреса электронной почты. Вы можете сделать это в коде довольно легко.

Теперь добавьте этот обработчик события Click для вашей кнопки:

private void button1_Click(object sender, EventArgs e)
{
    contextMenuStrip1.Show(button1, new Point(0, button1.Height));
}

Поэтому, когда кнопка нажимается, появляется меню, отображающее «альтернативные» адреса электронной почты. Все, что вам нужно сделать, это перехватить событие Click пунктов меню, чтобы «использовать» выбранный адрес электронной почты.

Установите для его свойства FlatStyle значение «System», для имени шрифта - «Marlett», а для заголовка - «u», чтобы у него была приятная «выпадающая кнопка».

Теперь добавьте ContextMenuStrip в форму и добавьте пункт меню. для каждого адреса электронной почты. Вы можете сделать это в коде довольно легко.

Теперь добавьте этот обработчик события Click для вашей кнопки:

private void button1_Click(object sender, EventArgs e)
{
    contextMenuStrip1.Show(button1, new Point(0, button1.Height));
}

Поэтому, когда кнопка нажимается, появляется меню, отображающее «альтернативные» адреса электронной почты. Все, что вам нужно сделать, это перехватить событие Click пунктов меню, чтобы «использовать» выбранный адрес электронной почты.

Теперь добавьте этот обработчик события Click для вашей кнопки:

private void button1_Click(object sender, EventArgs e)
{
    contextMenuStrip1.Show(button1, new Point(0, button1.Height));
}

Поэтому, когда кнопка нажата, появляется меню, отображающее «альтернативные» адреса электронной почты. Все, что вам нужно сделать, это перехватить событие Click пунктов меню, чтобы «использовать» выбранный адрес электронной почты.

Теперь добавьте этот обработчик события Click для вашей кнопки:

private void button1_Click(object sender, EventArgs e)
{
    contextMenuStrip1.Show(button1, new Point(0, button1.Height));
}

Поэтому, когда кнопка нажата, появляется меню, отображающее «альтернативные» адреса электронной почты. Все, что вам нужно сделать, это перехватить событие Click пунктов меню, чтобы «использовать» выбранный адрес электронной почты.

3
ответ дан 15 December 2019 в 01:10
поделиться

Зачем вам нужно, чтобы ComboBox был без полей? Не имеет особого смысла для меня.

Сделать, что вы можете сделать, это сделать только для чтения ComboBox . Вы можете заполнить записи, и пользователю будет разрешено выбирать их, но не вводить текст.

Просто установите для DropDownStyle значение ComboBoxStyle.DropDownList .

1
ответ дан 15 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: