Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
46 / 46 / 12
Регистрация: 03.08.2012
Сообщений: 215
1

Выводить userControl по нажатию на какую либо цифру

09.08.2012, 13:31. Показов 2382. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть SplitContainer , слева стоит listBox со строками например 1,2,3,4... а справа(panel2) нужно выводить userControl по нажатию на какую либо цифру. тесть если нажать на цифру 1 то справа должен открыться userControl1 если на 2 то userControl2... но не знаю как написать код. я новичок но очень нужно.
Миниатюры
Выводить userControl по нажатию на какую либо цифру  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.08.2012, 13:31
Ответы с готовыми решениями:

Ввести строку из 6 или больше слов, после 4 слова вставить какую либо цифру
Ввести строку из 6 или больше слов, после 4 слова вставить какую либо цифру.

Как строки из mysql выводить на разных страницах, либо выводить динамично
Мне нужно сделать тест: Вот, что мне удалось сделать: Вот моя таблица MySQL, называется...

Выводить поле либо в Верхнем регистре либо в нижнем, в зависимости от передаваемого аргумента
Здравствуйте! Задание такое:в столбец, нужно выводить содержимое поля Name_Costs либо в Верхнем...

Выводить на дисплей каждый введённый с клавиатуры символ, причём цифру выводить «в трёх экземплярах»
Добрый день , возник вопрос с прерываниями.Задание выводить на дисплей каждый введённый с...

13
17 / 17 / 4
Регистрация: 18.05.2011
Сообщений: 83
09.08.2012, 14:30 2
У формы есть событие KeyDown. Перехватываешь его и обрабатываешь.
В обработчике в e.KeyValue ,будет находиться код нажатой клавиши.
То-есть если те надо проверить нажата ли 1, то делаешь так:
C#
1
2
3
4
5
6
7
switch(e.KeyValue)
{
case 49: //что-то делаем если нажата клавиша 1
break;
case 50: //чтото делаем если нажата клавиша 2
break;
}
0
46 / 46 / 12
Регистрация: 03.08.2012
Сообщений: 215
10.08.2012, 00:56  [ТС] 3
Нашел код но не могу понять как добавить еще userControl. Кто готов помочь подсказать как добавить еще userControl?
0
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
10.08.2012, 01:03 4
Если он подключен,просто создавай его новый экземпляр и добавляй в родительский контейнер.
C#
1
Panel2.Controls.Add(userControl2);
0
46 / 46 / 12
Регистрация: 03.08.2012
Сообщений: 215
10.08.2012, 01:42  [ТС] 5
У меня просто набросано на форму инструменты как на скрине и для начала создано 4 UserControl.
0
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
10.08.2012, 11:58 6
Ну так по клику на определенный пункт(сделай один обработчик на все).
и соответственно создавай нужный контрол и добавляй его так как я написал,что б можно было видеть и нормально обращаться к нему.
C#
1
2
3
4
5
       
 if (UserControl1 == null || UserControl1.IsDisposed)
            {
                UserControl1 = new UserControl();
            }
как то так
1
46 / 46 / 12
Регистрация: 03.08.2012
Сообщений: 215
10.08.2012, 12:44  [ТС] 7
3 ошибки выдает.
0
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
10.08.2012, 12:59 8
Либо грамотно составляйте код либо грамотно задавайте вопрос)
показывайте
0
46 / 46 / 12
Регистрация: 03.08.2012
Сообщений: 215
10.08.2012, 13:18  [ТС] 9
Выводить userControl по нажатию на какую либо цифру
0
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
10.08.2012, 16:40 10
2 ошибка - userControl нужно создать,дать ссылку какую-то.
можно сделать глобальной переменной не создавая ее.
C#
1
UserControl uc;//все
1 и 3,значит,что вы обращаетесь к UserControl как к методу.//надеюсь правильно подсказал.
0
46 / 46 / 12
Регистрация: 03.08.2012
Сообщений: 215
10.08.2012, 17:09  [ТС] 11
WindowsFormsApplication3.rar
Буду благодарен если покажете куда что вставить.
0
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
10.08.2012, 17:30 12
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private UserControl1 uc1;
        private UserControl1 uc2;
        private UserControl1 uc3;
        private UserControl1 uc4;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch(listBox1.SelectedIndex)
            {
                case 1:
                    if (uc1 == null || uc1.IsDisposed) uc1 = new UserControl1();
                    splitContainer1.Panel2.Controls.Add(uc1);
                    break;
                case 2:
                    break;
 
            }
        }
    }
}
все работает как и говорил.
Нужно помнить,что UserControl'ы придется удалять(или оставить если памяти не жалко).
1
46 / 46 / 12
Регистрация: 03.08.2012
Сообщений: 215
10.08.2012, 20:22  [ТС] 13
ListBoxInCSharp.zip Спасибо но не много не так работает как хотелось бы. Нужно что бы можно было просматривать userContor а там он открывается но не меняется на другой.
Нужно сделать как вот в этой программке. Только в ней я не понимаю как добавить еще userContor.
0
46 / 46 / 12
Регистрация: 03.08.2012
Сообщений: 215
10.08.2012, 22:54  [ТС] 14
Вот выложил код этой программы. Когда добавляю новый userControl и вписываю new UserControl4() выводит ошибки.

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
namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        private readonly UserControl[] _userControls;
        
        public Form1()
        {
            InitializeComponent();
 
            _userControls = new UserControl[] { new UserControl1(), new UserControl2(), new UserControl3(), };
 
            listBox1.SelectedIndex = 0;
        }
 
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            splitContainer1.Panel2.Controls.Clear();
            if (listBox1.SelectedIndex >= 0 && listBox1.SelectedIndex < listBox1.Items.Count)
            {
                var control = _userControls[listBox1.SelectedIndex];
                (control as INodeDetails).UpdateContent(listBox1.Text);
                splitContainer1.Panel2.Controls.Add(control);
                control.Dock = DockStyle.Fill;
            }
 
        }
    }
}
0
10.08.2012, 22:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.08.2012, 22:54
Помогаю со студенческими работами здесь

Перенести цифру из Memo содержащего текст и цифру в Edit по нажатию на кнопку
У меня есть на форме есть Memo и при запуске программы в него будет вводиться текст и цифра.Также у...

Задана некоторая последовательность нечетной длины из нулей и единиц. Из нее разрешается удалить одну цифру. Какую цифру
Последовательность из нулей и единиц четной длины назовем справедливой, если на четных местах этой...

При попытке установить игры, или какую-то "тяжёлую" прогу, постоянно вылетает сообщение о том что файл либо повреждён либо не существует
просто не знаю с чем проблема...при попытки установить игры, или какую-то &quot;тяжёлую&quot; прогу,...

Добавить свой UserControl либо другие элементы управления в Xna
Всем доброго времени суток. Кто знает, как вообще можно добавить свой UserControl либо другие...

Выводить изображение по нажатию кнопки
Можно ли в Delphi выводить изображение по нажатию кнопки, если можно то как?

Выводить картинки по нажатию кнопки
нужно при нажатии на кнопку вывести соответствующую картинку, например если нажать на кнопку где...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru