Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
3 / 3 / 2
Регистрация: 11.04.2015
Сообщений: 86

Электронный Учебник - нужны идеи реализации интерфейса

11.04.2015, 17:31. Показов 3087. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, сразу скажу что я начинающий и язык знаю плохо так что не кричите если щас вы прочтете полную глупость. Вообщем хочу сделать электронный учебник на C#. Есть задумка куча Label наложеных на друг друга и все они ни видимые на форме кроме 1. На форме будет кнопка, при нажатие которой меняется страница тоесть, один label исчезает другой появляется. У меня самый простой код для 2 label:
if (label1.Visible == true)
label1.Visible = false;
label2.Visible = true;

Но этого мало надо чтобы потом затухал label2 и появлялся label3 но как это сделать я не как не пойму. У меня несколько предположений. Одни из как то увеличивать label на 1 после данного кода но как я еще не знаю. Подскажите ваши мысли заранее спасибо.

Добавлено через 18 минут
Щас немного посидев придумал вот такую вешь:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            if (label1.Visible == true)
            {
                label1.Visible = false;
                label2.Visible = true;
            }
 
            else if(label2.Visible == true)
            {
                label2.Visible = false;
                label3.Visible = true;
            }
           
            else if (label3.Visible == true)
            {
                label3.Visible = false;
                label4.Visible = true;
            }
Но это только для 4 страниц а так текст получится очень грамозким.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2015, 17:31
Ответы с готовыми решениями:

Электронный учебник, способы реализации
Как сделать форму как на картинке заранее спасибо

нужны идеи в реализации кода
В общем если кто подскажет хоть примерно как это должно выглядеть буду очень благодарен. Или просто части кода в качестве примера можно...

Морской бой - нужны идеи реализации
Вообщем, нужна помощь. Мне нужно сделать по информатике программу "Морской Бой" в Бейсике. Как делать не объясняли. У самого идей...

15
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
11.04.2015, 17:58
label в массив пихаешь и работаешь в цикле. Все скрываешь, кроме например label[3].

Не по теме:

Цитата Сообщение от manro026 Посмотреть сообщение
язык знаю плохо так что не кричите
Капец, зачем вы это все пишите? Куча лишних слов, за которой не видно проблемы. Лучше бы знаки препинания расставили и код в теги засунули.

1
3 / 3 / 2
Регистрация: 11.04.2015
Сообщений: 86
11.04.2015, 18:21  [ТС]
Хм а примерно код какой будет, если не трудно опиши.

Добавлено через 12 минут
C#
1
2
3
4
5
int[] i = new int[3];
            i[0] = label1;
            i[1] = label2;
            i[2] = label3;
            i[3] = label4;
Как то так?
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
11.04.2015, 18:28
Конечно не так. Вы же объявили тип int[], т.е. массив целых чисел. Надо объявлять массив label[].
А вообще список удобней будет, так что так
C#
1
2
3
List<Label> labels = new List<Label>();
labels.Add(label1);
labels.Add(label2);
С массивами так.
C#
1
2
3
Label[] labels2 = new Label[10];
labels2[0] = label1;
labels2[1] = label2;
0
3 / 3 / 2
Регистрация: 11.04.2015
Сообщений: 86
11.04.2015, 18:37  [ТС]
То есть мы создаем список де хранятся наши label, я правильно понял? Вот у меня выдает ошибку "Для нестатического поля, метода или свойства "WindowsFormsApplication2.Form1.labe l1" требуется ссылка на объект". Из-за чего она появилась?
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
11.04.2015, 18:48
Код то покажите, я же не экстрасенс.
0
3 / 3 / 2
Регистрация: 11.04.2015
Сообщений: 86
11.04.2015, 18:53  [ТС]
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
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 WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        static void Main(string[] args)
        {
 
            Label[] st = new Label[4];
st[0] = label1;
st[1] = label2;
st[2] = label3;
st[3] = label4;
 
        }
       
    }
}
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
11.04.2015, 19:01
делается 1 лейбл. и по мере необходимости меняется его текст
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
11.04.2015, 19:02
C#
1
static void Main(string[] args)
Это тут причем? Копипастом занимаемся? У вас должно быть какое-нибудь событие, например button1_click. В общем почитайте что нибудь вменяемое по windows forms.
0
3 / 3 / 2
Регистрация: 11.04.2015
Сообщений: 86
11.04.2015, 19:08  [ТС]
Да я уже нашел в чем ошибка, спасибо.
0
3 / 3 / 2
Регистрация: 11.04.2015
Сообщений: 86
12.04.2015, 20:28  [ТС]
Так ну получилось что-то такое:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private void button1_Click(object sender, EventArgs e)
        {
            Label[] str = new Label[4];
         str[0]=label1;
            str[1]=label2;
            str[2]=label3;
            str[3] = label4;
            int i;
            i = 0;
            if (str[i].Visible == true)
            {
                str[i].Visible = true;
                str[i+1].Visible = true;
            }
 
        вот и между 2 лаблами переключает, но как сделать чтобы потом еще при нажатие он листал дальше?
  if (str[i].Visible == true)
            {
                str[i].Visible = true;
                str[i+1].Visible = true;
i=i+1;
            }
я думал как то так но так не получается, подскажите пожалуйста!







}

Добавлено через 8 минут
Ну вот как я думаю из-за чего она не работает. Это из-за того, что я постоянно создаю новый масив и заново присваиваю i=0.
0
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
12.04.2015, 20:51
manro026, можно сделать проще, например я делал TreeView для каждого раздела и к нему привязывал rtf все выводилось в richTextBox (модифицированный) получилось вот:

правда сама реализация много сложнее чем описано выше
0
3 / 3 / 2
Регистрация: 11.04.2015
Сообщений: 86
14.04.2015, 14:23  [ТС]
Прошу подскажите! У меня есть глобальная переменная i, мне надо сделать чтобы значение i отображалось в TextBox1. Я попробывал вот так TextBox1.text= i ; Но выдает ошибку что неверное преобразование. Подскажите что делать, а то я в ступоре
0
20 / 20 / 6
Регистрация: 04.07.2012
Сообщений: 73
14.04.2015, 14:36
C#
1
TextBox1.Text = i.ToString();
видимо так, хотя зависит от типа i...а вообще прежде чем писать электронный учебник, лучше бы пару бумажных прочитать)
0
3 / 3 / 2
Регистрация: 11.04.2015
Сообщений: 86
14.04.2015, 15:03  [ТС]
Он уже готов весь осталось ток вот это и все)

Добавлено через 2 минуты
Выдает ошибку: элемент TextBox1 не существует в данном контексте.
0
20 / 20 / 6
Регистрация: 04.07.2012
Сообщений: 73
14.04.2015, 15:27
C#
1
 textBox1.Text = i.ToString();
Тогда так видимо)

Добавлено через 2 минуты
А вообще лучше посмотреть как точно называется ваш текстбокс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.04.2015, 15:27
Помогаю со студенческими работами здесь

Локальный чат на VB: нужны исходники или идеи реализации
Ищу хороший пример, нужен сервер и желательно оконный , с возможностью отправлять сообщения подключенным клиентам ( список подключенных),...

Нужны идеи по реализации работы с большим количеством инструкций
Здравствуйте! Сотрудники моего предприятия занимаются тем, что оказывают консультацию пользователям технического и технологического...

Отделение интерфейса от реализации класса: компиляция кода реализации
Доброго времени суток, У меня возникла проблема с отделением интерфейса от реализации класса. Допустим, у меня есть три файла: 1....

Электронный учебник
Для курсовой мне предложили сделать конструктор и вьювер для учебника.Пользователь с помощью конструктора должен создавать структуру...

Электронный учебник
Не могли бы помочь


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru