Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2011, 15:58   #1
Алекс Миско
Пользователь
 
Регистрация: 03.06.2010
Сообщений: 17
Печаль listbox. Проверка на выделение.

Только недавно изучаю C#. При написании программы столкнулся с такой штукой. В listbox есть введнные данные, необходимо чтобы при нажатии кнопки прошла проверка которая определяет выбрана ли любая из записей в лист listbox'e. Если да то например вывести эту запись иначе (ничего не выбрано) выдать новый фрейм с сообщением об ошибке.

заранее благодарен за помощь
Алекс Миско вне форума Ответить с цитированием
Старый 28.02.2011, 19:15   #2
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Сообщений: 276
По умолчанию

Свойство: SelectedItems

http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.aspx
#include <мозг.h>
Руслантус вне форума Ответить с цитированием
Старый 28.02.2011, 23:04   #3
Алекс Миско
Пользователь
 
Регистрация: 03.06.2010
Сообщений: 17
По умолчанию

К сожаленю использование SelectedItem невозможно так как компилятор ругается на строку
Код:
if (listBox.SelectedItems == -1 )
              {
                MessageBox.Show("Ошибка выбора");
              }
.
Может быть я в чем то не прав, или ошибся???

Прикладываю файл с проектом
Вложения
Тип файла: zip WindowsFormsApplication1.zip (177.2 Кб, 19 просмотров)

Последний раз редактировалось Алекс Миско; 28.02.2011 в 23:11. Причина: Дополнение
Алекс Миско вне форума Ответить с цитированием
Старый 28.02.2011, 23:13   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
if(listBox.SelectedItems.Count==0)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.02.2011, 23:22   #5
Алекс Миско
Пользователь
 
Регистрация: 03.06.2010
Сообщений: 17
По умолчанию

Снова получаю ошибку. Не получилось...
Алекс Миско вне форума Ответить с цитированием
Старый 28.02.2011, 23:47   #6
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

if (listBox.SelectedIndex != 0 ) так что ли ? вопроса не понял алкоголь мозг парит
вместо if (listBox.SelectedItems != -1 )
wm_leviathan вне форума Ответить с цитированием
Старый 28.02.2011, 23:54   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
if (ListBox1.SelectedIndex != -1)//тогда выделен ктото
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.03.2011, 00:02   #8
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

там вообще ошибка в
Код:
 public String get(int pupilIndex)
        {
            if (pupils.Count > pupilIndex)
            {
                return pupils[pupilIndex].ToString();
            }
            return null;
        }
строка выделена. не в том направлении роем
там pupilIndex равен -1 и .ToString();сработать не может ругается когда запись не выделяешь какую нибудь.

Последний раз редактировалось wm_leviathan; 01.03.2011 в 00:05.
wm_leviathan вне форума Ответить с цитированием
Старый 01.03.2011, 00:48   #9
wm_leviathan
Форумчанин
 
Аватар для wm_leviathan
 
Регистрация: 17.02.2010
Сообщений: 399
По умолчанию

я немного поправил файл pupilManager.cs, до такого вида:
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FirstWinFormApplication.entity;

namespace FirstWinFormApplication.manager
{
    class PupilManager
    {
        private List<Pupil> pupils;

        public PupilManager()
        {
            pupils = new List<Pupil>();
        }

        public void add(Pupil pupil)
        {
            pupils.Add(pupil);
        }

        public String get(int pupilIndex)
        {
            if (pupilIndex <0)
            {
             return "Ошибка выбора";
            }
            if (pupils.Count > pupilIndex)
            {
                return pupils[pupilIndex].ToString();
            }
            return null;
        }

        public String createAndAdd(String firstName, String lastName, String middleName)
        {
            Pupil pupil = new Pupil(lastName, firstName, middleName);
            this.add(pupil);

            return pupil.ToString();
        }
    }
}
больше ошибка не вылетает если из ListBox ничего не выделено, ну нормально показывает то что выделено.
полный исходник тут http://zalil.ru/30590198
надеюсь правильно понял вашу проблему а то синька глаза и мозг туманит ((

Последний раз редактировалось wm_leviathan; 01.03.2011 в 00:52.
wm_leviathan вне форума Ответить с цитированием
Старый 01.03.2011, 09:44   #10
Алекс Миско
Пользователь
 
Регистрация: 03.06.2010
Сообщений: 17
По умолчанию

Всем спасибо за помощь. Отдельное wm_leviathan'y. Попытка отредактировать класс
пиплменеджер дала свои плюсы. Программа функционирует
Алекс Миско вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение цветом нужной строки в ListBox Kity19 Компоненты Delphi 5 01.02.2011 09:12
ListBox проверка области клика maloun Компоненты Delphi 4 18.01.2011 07:49
ListBox выделение левой кнопкой пауэрлифтинг Общие вопросы Delphi 6 07.03.2010 23:52
проверка значений в ListBox Arteom Компоненты Delphi 10 26.05.2008 12:32
Выделение в ListBox по правому клику mutabor Общие вопросы Delphi 4 01.10.2007 22:33