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

Интерфейс и класс

01.04.2014, 02:07. Показов 1042. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как позволить собственному классу работать с интерфейсом на форме ?

Добавлено через 26 минут
upup
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.04.2014, 02:07
Ответы с готовыми решениями:

Как отделить интерфейс(класс формы) от вычислений?
Может, вопрос глупый, но я очень хочу научиться не смешивать внешний вид и вычисления. Например, у меня есть форма, на которой есть...

Ошибка "Требуется класс, делегат, перечисление, интерфейс или структура"
Всем привет! Хочу распознавание от Гугл вставить к своей программе. Появилась ошибка. private void button5_Click_1(object sender,...

Можно ли создать интерфейс, в котором один из методов будет возвращать класс, который реализует интерфейс
Можно ли создать интерфейс, в котором один из методов будет возвращать класс, который реализует интерфейс. Т.е. что-то вроде этого: ...

3
5 / 5 / 1
Регистрация: 17.02.2013
Сообщений: 18
01.04.2014, 02:07
передай экземпляр формы в конструктор класса
и там уже производи различные манипуляции над формой)

если я правильно понял, что ты хочешь сделать)
1
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
01.04.2014, 02:23  [ТС]
Syler, эмм, а как это сделать ?

Добавлено через 2 минуты
приведу пример :
я имею :
Кликните здесь для просмотра всего текста

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Лаба4._18Шарп
{
    public partial class Form1 : Form
    {
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void maskedTextBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsDigit(e.KeyChar) && e.KeyChar != 8)
                e.Handled = true;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            Date obj = new Date();
            DateTime buf = new DateTime();
            if (DateTime.TryParse(maskedTextBox1.Text, out buf))
            {
                obj.now = buf;
                listBox1.Items.Add("Сегодняшний день : " + obj.now.ToShortDateString());
                listBox1.Items.Add("Вчерашний день : " + obj.now.AddDays(-1).ToShortDateString());
                listBox1.Items.Add("Следующий день : " + obj.now.AddDays(1).ToShortDateString());
                listBox1.Items.Add("Дней до конца месяца : " + (System.DateTime.DaysInMonth(obj.now.Year, obj.now.Month)
                                    - obj.now.Day).ToString());
                if (obj.now.Year % 4 == 0)
                    listBox1.Items.Add("Год высокосный");
                else
                    listBox1.Items.Add("Год не высокосный");
                listBox1.Items.Add("День с начало года : " + obj.now.DayOfYear);
            }
            else
                listBox1.Items.Add("Ошибка при вводе даты");
        }
    }
 
    public class Date
    {
        public DateTime now
        {
            get { return Now; }
            set { Now = value; }
        }
        private DateTime Now;
    }
}

я хочу что-то типо:
Кликните здесь для просмотра всего текста

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Лаба4._18Шарп
{
    public partial class Form1 : Form
    {
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void maskedTextBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsDigit(e.KeyChar) && e.KeyChar != 8)
                e.Handled = true;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            Date obj = new Date();
            DateTime buf = new DateTime();
            if (DateTime.TryParse(maskedTextBox1.Text, out buf))
            {
                obj.now = buf;
                //listBox1.Items.Add("Сегодняшний день : " + obj.now.ToShortDateString());
                listBox1.Items.Add("Вчерашний день : " + obj.now.AddDays(-1).ToShortDateString());
                listBox1.Items.Add("Следующий день : " + obj.now.AddDays(1).ToShortDateString());
                listBox1.Items.Add("Дней до конца месяца : " + (System.DateTime.DaysInMonth(obj.now.Year, obj.now.Month)
                                    - obj.now.Day).ToString());
                if (obj.now.Year % 4 == 0)
                    listBox1.Items.Add("Год высокосный");
                else
                    listBox1.Items.Add("Год не высокосный");
                listBox1.Items.Add("День с начало года : " + obj.now.DayOfYear);
            }
            else
                listBox1.Items.Add("Ошибка при вводе даты");
        }
    }
 
    public class Date
    {
        public void First()
        {
            listBox1.Items.Add("Сегодняшний день : " + Now.ToShortDateString());
        }
        public DateTime now
        {
            get { return Now; }
            set { Now = value; }
        }
        private DateTime Now;
    }
}

(разница в классах )
0
5 / 5 / 1
Регистрация: 17.02.2013
Сообщений: 18
01.04.2014, 02:38
Лучший ответ Сообщение было отмечено Fene4ka_ как решение

Решение

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace аві
{
    public partial class Form1 : Form
    {
        private Date _date = null;
        public Form1()
        {
            InitializeComponent();
            _date = new Date(this); // тут мы передаем экземпляр формы в конструктор класса Date
        }
 
        private void button1_Click_1(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            _date.First();
        }
    }
 
    public class Date
    {
        private Form1 _form = null;
        public Date(Form1 form)
       {
            _form = form;
        }
        public void First()
        {
            // Нашел в коллекции контроллов необходимый мне листбокс и добавил к нему айтем)
            ((ListBox)_form.Controls.Find("listBox1", false)[0]).Items.Add("Сегодняшний день : " + Now.ToShortDateString());
        }
        public DateTime now
        {
            get { return Now; }
            set { Now = value; }
        }
        private DateTime Now;
    }
}
вроде работает))
я там только удалил немного, что бы не запутаться)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.04.2014, 02:38
Помогаю со студенческими работами здесь

Как получить ссылку на конкретный класс Коллекция<Интерфейс>
public override ObservableCollection&lt;ISecurity&gt; GetTableCurrentParam() { return new...

Изменить класс для описания комплексных чисел на абстрактный класс
Нужно изменить на абстрактное классы, не понимаю как? В файле Class1.cs: using System; using System.Collections.Generic; using...

Как преобразовать класс из динамически сгенерированного кода в локальный класс?
Исходные данные: Форма, на ней кнопка, по нажатию на которую компилируется программа, совершает расчёты, возвращает результат. ...

Как именовать интерфейс, от которого наследуется класс, если класс начинается c "I"
Здравствуйте, как обозвать интерфейс, от которого наследуется класс, если класс начинается c &quot;I&quot;. например class...

Абстрактный класс/Класс интерфейс
Не ловлю суть в чем разница между интерфейсом и абстрактным классом. И там и там у методов нету реализации. Ну интерфейс задает набор...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru