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

Переделать программу которая реализует работу стандартных интерфейсов на Windows Forms

08.05.2023, 18:54. Показов 349. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте , у меня есть консольная программа которая реализует работу стандартных интерфейсов , но мне нужно переделать её на Windows Forms , можете пожалуйста помочь с написанием кода и какие элементы мне нужно создавать
Вот код консольной программы на C# :
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Person person1 = new Person("John", "Doe", 25);
            Person person2 = new Person("Jane", "Doe", 30);
 
            // Пример использования IComparable
            int compareResult = person1.CompareTo(person2);
            Console.WriteLine("CompareTo result: {0}", compareResult);
 
            // Пример использования IComparer
            PersonComparer comparer = new PersonComparer();
            int compareResult2 = comparer.Compare(person1, person2);
            Console.WriteLine("Compare result: {0}", compareResult2);
 
            // Пример использования ICloneable
            Person person3 = (Person)person1.Clone();
            Console.WriteLine("Cloned Person: {0} {1} ({2})", person3.FirstName, person3.LastName, person3.Age);
 
            // Пример использования IEquatable
            bool areEqual = person1.Equals(person2);
            Console.WriteLine("Equals result: {0}", areEqual);
 
            // Пример использования IEqualityComparer
            PersonEqualityComparer equalityComparer = new PersonEqualityComparer();
            bool areEqual2 = equalityComparer.Equals(person1, person2);
            Console.WriteLine("Equals result: {0}", areEqual2);
 
            // Пример использования IEnumerable
            foreach (string property in person1)
            {
                Console.WriteLine(property);
            }
 
            Console.ReadLine();
 
        }
    }
    // Реализация интерфейса IComparer
    class PersonComparer : IComparer<Person>
    {
        public int Compare(Person x, Person y)
        {
            return string.Compare(x.FirstName, y.FirstName);
        }
    }
    // Реализация интерфейса IEqualityComparer
    class PersonEqualityComparer : IEqualityComparer<Person>
    {
        public bool Equals(Person x, Person y)
        {
            if (x == null || y == null)
                return false;
 
            return x.FirstName == y.FirstName && x.LastName == y.LastName && x.Age == y.Age;
        }
 
        public int GetHashCode(Person obj)
        {
            return obj.FirstName.GetHashCode() ^ obj.LastName.GetHashCode() ^ obj.Age.GetHashCode();
        }
    }
 
    public class Person : IComparable<Person>, IComparer<Person>, ICloneable, IEquatable<Person>, IEqualityComparer<Person>, IEnumerable<string>
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public int Age { get; set; }
 
        public Person(string firstName, string lastName, int age)
        {
            FirstName = firstName;
            LastName = lastName;
            Age = age;
        }
 
        public int CompareTo(Person other)
        {
            return string.Compare(this.LastName, other.LastName);
        }
 
        public int Compare(Person x, Person y)
        {
            return string.Compare(x.FirstName, y.FirstName);
        }
 
        public object Clone()
        {
            return new Person(this.FirstName, this.LastName, this.Age);
        }
 
        public bool Equals(Person other)
        {
            if (other == null)
                return false;
 
            return this.FirstName == other.FirstName && this.LastName == other.LastName && this.Age == other.Age;
        }
 
        public bool Equals(Person x, Person y)
        {
            if (x == null || y == null)
                return false;
 
            return x.FirstName == y.FirstName && x.LastName == y.LastName && x.Age == y.Age;
        }
 
        public int GetHashCode(Person obj)
        {
            return obj.FirstName.GetHashCode() ^ obj.LastName.GetHashCode() ^ obj.Age.GetHashCode();
        }
 
        public IEnumerator<string> GetEnumerator()
        {
            yield return FirstName;
            yield return LastName;
            yield return Age.ToString();
        }
 
        IEnumerator IEnumerable.GetEnumerator()
        {
            return GetEnumerator();
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2023, 18:54
Ответы с готовыми решениями:

Работа с WinForms и OpenGL
Подскажите пожалуйста как использовать OpenGL в WindowsForms.

Работа с datagridview в winforms
Уважаемые знатоки, посоветуйте пожалуйста литературу (видео, книги, статьи) по работе с...

Работа с WinRT на WinForms
Привет всем! Стоит задача получать местоположение сотрудников с помощью iBeacon С такой...

Работа с chart winforms
Добрый вечер! У меня есть график в chart с маркерами для каждой точки(допустим 5 точек и у каждой...

Работа в WinForms с Access
Как изменить алиас у столбцов при загрузке таблиц в DataGridView? Загружаю вручную, потому что...

4
Эксперт .NET
1957 / 1418 / 335
Регистрация: 15.06.2012
Сообщений: 5,323
Записей в блоге: 3
09.05.2023, 10:25 2
Sasha_Progamist, что должно происходить на формах? Просто где-то печататься текст?
0
0 / 0 / 1
Регистрация: 03.12.2022
Сообщений: 22
09.05.2023, 10:35  [ТС] 3
Я думаю , что должно быть окошко куда пользователь вводит своё имя фамилию и возраст , и дальше внизу располагаются кнопки отвечающие за реализацию того или иного интерфейса , ну и должно быть большое окно где вся эта информация выводится
0
Эксперт .NET
1957 / 1418 / 335
Регистрация: 15.06.2012
Сообщений: 5,323
Записей в блоге: 3
09.05.2023, 10:51 4
Sasha_Progamist, у вас есть класс Person и пачка реализаций "сравнить две персоны между собой". Допустим я добавлю 2 персоны через окно ввода в список... дальше что делать?
0
0 / 0 / 1
Регистрация: 03.12.2022
Сообщений: 22
09.05.2023, 11:41  [ТС] 5
Потом допустим при нажатии кнопки с реализацией интерфейса IComparable , слева в окошке будет выводится значение и так со всеми интерфейсами
0
09.05.2023, 11:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2023, 11:41
Помогаю со студенческими работами здесь

Работа с пикселями С# WinForms
Здравствуйте! Сделал небольшую детскую стеганографию. В одной программке я вшиваю текст, в другой...

Работа с текстовыми переменными в WinForms C++
Всем привет! Не получается присвоить текстовой переменной текст через TextBox с формы. Включен...

Работа со стандартными элементами WinForms
Здарова, мужики. Есть пара вопросов по стандартным формам (искал ответы в интере, но там,...

Вызвать консольное приложение C# из проекта winforms и дать команду завершения также из winforms
Добрый день ! у меня есть проект на C# на winforms. я написал также консольное приложение на...

Переписать код с WinForms на WPF (Работа с DGV)
Есть такой вот код, товарищи, только он для Windows Form, а мне бы его реализовать для Wpf. Был бы...


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

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