Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350

Как организовать логику работы двух CheckBox

16.08.2012, 03:14. Показов 3220. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу программу, которая ищет музыку или видио(или и то и то ) по компьютеру. имеется два CheckBox'a в которых задается что искать.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void checkBox1_Checked(object sender, RoutedEventArgs e)
        {
            if (checkBox1.IsChecked == true)
                myzec = true;
            else
                myzec = false;
            koll.RemoveRange(0, koll.ToArray().Length);
        }
        private void checkBox2_Checked(object sender, RoutedEventArgs e)
        {
            if (checkBox2.IsChecked == true)
                vido = true;
            else
                vido = false;
            koll.RemoveRange(0, koll.ToArray().Length);
        }
По умолчанию ищем видео vido = true , myzec = false. Но когда пытаюсь искать музыку вместо видео(т.е. снимаем галочку со второго чикбокса и ставим в первом) программа ищет все ввперемешку (когда ищем только видео все норм) не понимаю где ошибка . Код для поиска музыки и видео абсолютно идентичный там не может быть ошибки тем более что видео норм ищет. Уже три дня не могу понять в программировании новичок наверняка какую нибудь глупую ошибку делаю. Подскажите плиз
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.08.2012, 03:14
Ответы с готовыми решениями:

Пишу шашки на C#, как организовать логику игры
Я пишу шашки, но пока что я начинающий сишарпер и мне нужно сформировать условие, а заключается оно в следующем: первые 2 IF организуют ход...

Крестики нолики - как организовать интерфейс и логику игры?
С чего нужно начать в коде ? Если хочу в Windows Forms сделать. Как создать массив это я знаю, а как этому массиву добавить квадратики...

Как организовать логику работы клиента с серверной частью и множеством таблиц БД
Есть Клиентская часть на SilverLite и есть серверная часть, которая предоставляет Entity модель связи с БД. Из клиента можно забирать...

20
 Аватар для Pahanuch
328 / 163 / 89
Регистрация: 03.11.2010
Сообщений: 920
16.08.2012, 04:49
Sparrow44, покажи больше кода - тогда попробую помочь. А еще, лучше, покажы полностью всю программу.
0
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
16.08.2012, 05:27  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/// <summary>
        /// Указывает введено название диска или папки
        /// </summary>
        bool disk = false; 
        bool lian = false;
        /// <summary>
        /// Указывает ищем музыку или нет
        /// </summary>
        bool myzec = false;
        /// <summary>
        /// Указывает ищем видео или нет
        /// </summary>
        bool vido = true;
        bool texttrue = false;
        Int32 num = 0;
 
        String[] derect;
        String[] p;
        List<string> koll = new List<string>();
        
        FileInfo file;
        DirectoryInfo dir;
 
 
        Random rnd = new Random();
        int number;
        private void getfile(String s)
        {
            try
            {
                derect = Directory.GetDirectories(s);
                Fileread(s,true);
 
                foreach (string path in derect)
                {
                    getfile(path);
                    if (lian)
                        break;
                }
            }
            catch { }
        }        
        private void Fileread(string a, bool t)
        {
            if (t)
                p = Directory.GetFiles(a + "\\");
            if(!t)
                p = Directory.GetFiles(a + ":\\");
            for (int q = 0; q < p.Length; q++)
            {
                file = new FileInfo(p[q]);
                if (vido)
                {
                    if (file.Extension == ".avi" || file.Extension == ".mpg" || file.Extension == ".mkv" || file.Extension == ".flv")
                    {
                        add(p[q]);
                    }
                }
                if (myzec)
                {
                    if (file.Extension == ".mp3" || file.Extension == ".wav" || file.Extension == ".wmv" || file.Extension == ".amr")
                    {
                        add(p[q]);
                    }
                }
                if (lian)
                    break;
            }
        }
        private void add(string s)
        {
            koll.Add(s);
            num = num + 1;
            if (num == number)
                lian = true;
        }
        private void Play()
        {
            if (koll.ToArray().Length != 0)
            {
                if (number < koll.ToArray().Length)
                    Process.Start(koll[number]);
                else
                    textBlock1.Text = "Не везет тебе";
            }
        }
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            num = 0;
            if (textBox1.Text.Length == 0)
            {
                textBlock1.Text = "Ты че мне впариваешь?";
            }
            else
            {
                do
                {
                    number = rnd.Next(Convert.ToInt16(textBox2.Text));
                }
                while (number == 0); 
                if (textBox1.Text.Length == 1)
                    disk = true;
                if (!disk)
                    getfile(textBox1.Text + "\\");
                else if (disk)
                    getfile(textBox1.Text + ":\\");
                Fileread(textBox1.Text, false);
                Play();
            }
        }
вот все остальные методы
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
17.08.2012, 07:24
C#
1
2
bool myzec = false;
bool vido = true;
Замени на
C#
1
2
bool myzec { get{ return checkBox1.IsChecked;}}
bool vido { get{ return checkBox2.IsChecked;}}
Обработчики чекбоксов не нужны.


Что делается здесь
C#
1
koll.RemoveRange(0, koll.ToArray().Length);
не знаю, поэтому не комментирую
1
33 / 31 / 7
Регистрация: 16.08.2012
Сообщений: 126
17.08.2012, 08:08
судя по коду обрабатывается событие cheked, когда "птичка" устанавливается на chekbox, поэтому код не срабатывает когда убирается. соответственно и ищет он все в перемешку
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
17.08.2012, 08:15
Цитата Сообщение от MaxValue Посмотреть сообщение
судя по коду обрабатывается событие cheked
Нет такого события. Судя по контролу обрабатывается событие CheckedChanged, которое срабатывает "когда убирается"
0
68 / 60 / 18
Регистрация: 03.12.2010
Сообщений: 365
17.08.2012, 08:33
а что если при проверке ты будешь устанавливать две переменные...одну в тру а другую в фолс??
и глупо делать по умолчанию одну в тру а другую в фолс...т.к. если ты включишь поиск на музыку у тебя два будут в тру...а если сделать оба вначале в фолс то думаю даже не придётся и две переменные сразу определять фолс или тру...)))
0
33 / 31 / 7
Регистрация: 16.08.2012
Сообщений: 126
17.08.2012, 08:39
Цитата Сообщение от Green Посмотреть сообщение
Нет такого события. Судя по контролу обрабатывается событие CheckedChanged, которое срабатывает "когда убирается"
у chekedchange параметры такие checkBox1_CheckedChanged(object sender, EventArgs e), а тут
checkBox1_Checked(object sender, RoutedEventArgs e)
следовательно событие cheked

http://msdn.microsoft.com/en-u... s.90).aspx
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
17.08.2012, 08:48
Цитата Сообщение от MaxValue Посмотреть сообщение
checkBox1_Checked(object sender, RoutedEventArgs e)
следовательно событие cheked
Не та ветка, здесь Windows Forms, ТСу в WPF.
0
68 / 60 / 18
Регистрация: 03.12.2010
Сообщений: 365
17.08.2012, 09:09
решение проблемы в моём посте выше)))))
0
17.08.2012, 09:29

Не по теме:

Цитата Сообщение от Миушник Посмотреть сообщение
решение проблемы в моём посте выше)))))
Неудачная попытка заработать плюсик на слабо связном наборе слов.

0
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
17.08.2012, 11:53  [ТС]
Цитата Сообщение от Green Посмотреть сообщение
Что делается здесь
Код C#
1
koll.RemoveRange(0, koll.ToArray().Length);
не знаю, поэтому не комментирую
В этом месте список с путями к файлам, который возможно был создан ранее(например сначала искали музыку а потом начали искать фильмы) при такой смене же нужно очистить список с путями к музыке... вот тут это я и делаю(ну или пытаю не знаю на сколько работоспособен код)

Добавлено через 3 минуты
Цитата Сообщение от Green Посмотреть сообщение
Заменил на
C#
1
2
bool myzec { get{ return checkBox1.IsChecked;}}
bool vido { get{ return checkBox2.IsChecked;}}
такой код не работает . Ругается , что " не удается преобразовать ?bool в bool существует явное преобразование возможно пропущено приведение типов"
Изменил его на такой
C#
1
2
3
4
5
6
7
bool myzec
        {
            get
            {
                return (bool)checkBox1.IsChecked;
            }
        }
0
68 / 60 / 18
Регистрация: 03.12.2010
Сообщений: 365
17.08.2012, 11:56
Цитата Сообщение от Green Посмотреть сообщение

Не по теме:


Неудачная попытка заработать плюсик на слабо связном наборе слов.

пофиг на плюсик...у него проблема в том, что когда он включает поиск музыки у него видео не становится в фолс...поэтому я и предложил сделать чтобы две переменные были при проверке на галочку в чекБоксе...или же проще было б ему поставить по умолчанию две переменные в фолс...тогда будет всё нормально работать)))))
0
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
17.08.2012, 12:16  [ТС]

Не по теме:


Странно что то студия перестала мне ассистировать(так вроде называется).Например когда начинаю писать checkBox1 он мне не выдает список с возможными вариантами действий



Добавлено через 1 минуту
Green, ваш вариант не работает.

Добавлено через 8 минут
Цитата Сообщение от Миушник Посмотреть сообщение
пофиг на плюсик...у него проблема в том, что когда он включает поиск музыки у него видео не становится в фолс
Проблема не в этом ,а в том что когда я убираю поиск видео он его все равно ищет
0
33 / 31 / 7
Регистрация: 16.08.2012
Сообщений: 126
17.08.2012, 12:40
проверь пошагово заходит ли он в обработчик события, когда убираешь поиск видео или музыка
0
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
17.08.2012, 12:46  [ТС]
Цитата Сообщение от MaxValue Посмотреть сообщение
проверь пошагово заходит ли он в обработчик события, когда убираешь поиск видео или музыка
Я бы с удовольствием но эта весьма полезная функция не поддерживается моей Студией (VS 2010 Ultimate) когда пытаешься это сделать она вылетает с ошибкой =)
0
68 / 60 / 18
Регистрация: 03.12.2010
Сообщений: 365
17.08.2012, 13:07
Цитата Сообщение от Sparrow44 Посмотреть сообщение
Проблема не в этом ,а в том что когда я убираю поиск видео он его все равно ищет
а переменные обе поставил в false по умолчанию???))))
0
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
17.08.2012, 13:29  [ТС]
Да, кстати после всех внесенных изменений предложных тут у меня и видео не ищет эх придется все таки комп перезагрузить и в 11 студии пошагово посмотреть что да как
0
68 / 60 / 18
Регистрация: 03.12.2010
Сообщений: 365
17.08.2012, 13:44
может парни давали верные советы...но всётаки для начала попробуй просто старую программу и в ней измени
C#
1
2
bool myzec = false;
bool vido = false;
если напишешь что всё равно не работает так как ты хотел, я перестану просто писать в эту тему)))
просто ты говорил что при нажатии на музыку у тебя ищет и видео...причину я увидел в том, что переменная на видео стоит изначально в тру....
0
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
17.08.2012, 19:30  [ТС]
Возможен вариант , что ищет и музыку и видео

Добавлено через 5 часов 19 минут
Цитата Сообщение от Миушник Посмотреть сообщение
если напишешь что всё равно не работает так как ты хотел, я перестану просто писать в эту тему)))
Очень жаль потому , что не работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.08.2012, 19:30
Помогаю со студенческими работами здесь

Как организовать логику приложения WebView
Здравствуйте, подскажите пожалуйста как организовать методы в коде (куда, какой) так, чтобы webview грузился с адреса сохраненного ранее в...

Symfony 2: как правильно организовать бизнес-логику?
Всем привет! Вот я недавно начал один проект на Symfony 2 и сразу же столкнулся одной проблемой - организацией бизнес-логики. Например, у...

Создать программу тестирования, как организовать логику
Уважаемые ФОРУМЧАНЕ! Нужна помощь. Работаю в ВУЗе. Надо сделать программу по тестированию знаний. Купить, как обычно в бюджетной...

Как организовать логику логин\пароль на сервере Winsock + msSql + С++?
Делаю сервер на c++. Мне нужен метод транспортировки логина пароля от клиента на сервер. Сервер с++, клиент C#. У форме c# есть 2 поля...

Как лучше организовать бизнес-логику и сильно связанные сущности
Доброго времени суток! Суть вот в чем. В модели Entity Framework (db first) имеется несколько сущностей, допустим &quot;Заявка&quot; и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru