139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
1
.NET 4.x

работа с основной формой

20.05.2014, 09:10. Показов 603. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу понять, у мне при клике на кнопку вызывается, дочернее окно (настройки) и мне там надо выбрать язык то есть при выборе русского программа(основная форма) переводилась на русский язык на укр. язык и на англ. язык, смотря что выбрал , я поставил радиоБатон, все нормально но есть одно НОУ
я создал экземпляр формы(основной)
C#
1
MainForm mf = new MainForm();
но когда я пишу код
C#
1
mf.Yes_button.Text = "ДА!"
Компилятор ругается что нету Yes_button., то есть он не видет элементы основной формы, как это можно исправить ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2014, 09:10
Ответы с готовыми решениями:

Работа с формой C#
Помогите пожалуйста с этими задачами 1 Обработка события закрытия формы. Создать форму,...

Работа с формой
Люди подскажите как сделать так, что бы форма со свойствами WindowState = Maximized, MaximizeBox =...

Работа с формой
Подскажите можно ли менять местами формы, в Visual studia 2010? Т.е. у меня есть 10 форм, я хочу...

Работа с формой
Добрый день, есть несколько вопросов. 1) Я что то не нашел свойство у формы которое убирает...

10
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
20.05.2014, 10:15 2
C#
1
this.Yes_button.Text = "ДА!"
0
51 / 51 / 14
Регистрация: 12.01.2013
Сообщений: 779
20.05.2014, 10:39 3
Цитата Сообщение от EVG-1980 Посмотреть сообщение
this.Yes_button.Text = "ДА!"
this будет указывать на форму с настройками и не на основную форму, кажется так
1
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
20.05.2014, 10:50 4
CSharp, еще бы увидеть его код для начала , а пока только можно играть в битву экстрасенсов
0
51 / 51 / 14
Регистрация: 12.01.2013
Сообщений: 779
20.05.2014, 11:00 5
Я
Цитата Сообщение от EVG-1980 Посмотреть сообщение
еще бы увидеть его код для начала , а пока только можно играть в битву экстрасенсов
Я не знаю что он там пытается, но если я правельно думаю, то у него есть Основная форма, которая при клики на что - то вызывается дочерченную форму, которая после каких-то манипуляций, должна изменять поле Text(Основной формы).

Мой вариант решения не хочешь хороший так как нарушает принципы ООП, то есть надо элементы основной формы пометить как public(сейчас они стоят как privat ) или можно протектед поставить.

Хотя фиг его знать что ему надо
1
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
20.05.2014, 12:57  [ТС] 6
Цитата Сообщение от CSharp Посмотреть сообщение
Я не знаю что он там пытается, но если я правельно думаю, то у него есть Основная форма, которая при клики на что - то вызывается дочерченную форму, которая после каких-то манипуляций, должна изменять поле Text(Основной формы).
Мой вариант решения не хочешь хороший так как нарушает принципы ООП, то есть надо элементы основной формы пометить как public(сейчас они стоят как privat ) или можно протектед поставить.
да вы правы мне надо именно так
0
Эксперт .NET
5546 / 4309 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
20.05.2014, 15:37 7
Sylar9, вот мой вариант. Сложновато, конечно, но это правильно.
Форма настроек.
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
using System.Linq;
using System.Text;
 
namespace WindowsFormsApplication26
{
    public partial class Settings: Form
    {
        public event EventHandler<MyEventArgs> settingsEvent;
        public Settings()
        {
            InitializeComponent();
            //Устанавливаем отмеченный флажок по умолчанию
            this.Load += (s, e) =>
                {
                    rbLang_1.Checked = true;
 
                };
            //Проверяем какой флажок отмечен по закрытию формы
            this.FormClosing += (s, e) =>
                {
                    Lang l = Lang.None;
                    RadioButton rb = (RadioButton)(this.Controls.OfType<RadioButton>()
                                                   .First(n => n.Checked));             
                    switch (((RadioButton)rb).Text)
                    {
                        case "Русский":
                            l = Lang.Rus;
                            break;
                        case "Английский":
                            l = Lang.Engl;
                            break;
                        case "Украинский":
                            l = Lang.Ukr;
                            break;
                        default:
                            break;
                    }
                    //Генерируем событие
                    if (settingsEvent != null)
                        settingsEvent(this, new MyEventArgs(l));
                };
        }
    }
    public class MyEventArgs : EventArgs
    {
        public readonly Lang Lang;
        public MyEventArgs(Lang l)
        {
            Lang = l;
        }       
    }
    public enum Lang
    {
        Rus,
        Engl,
        Ukr,
        None
    }
}
Основная форма.
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
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 WindowsFormsApplication26
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            //Ставим начальные надписи на кнопках
            this.Load += (s, e) =>
                {
                    button1.Text = "Yes";
                    button2.Text = "Settings";
                };
            //Вызываем форму с настройками
            button2.Click += (s, e) =>
                {
                    Settings set = new Settings();
                    set.settingsEvent += (sObj, eArg) =>
                        {
                            switch (eArg.Lang)
                            {
                                case Lang.Engl:
                                    //Тут метод смены языка контролов на Английский
                                    //Мессадж убрать
                                    MessageBox.Show("English");
                                    break;
                                case Lang.Rus:
                                    //Тут метод смены языка контролов на Русский
                                    //Мессадж убрать
                                    MessageBox.Show("Russian");
                                    break;
                                case Lang.Ukr:
                                    //Тут метод смены языка контролов на Украинский
                                    //Мессадж убрать
                                    MessageBox.Show("Ukrain");
                                    break;
                                default:
                                    break;
                            }
                        };
                    set.ShowDialog();
                };
        }
    }
}
Если не разберетесь-спросите.
0
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
20.05.2014, 15:53 8
Цитата Сообщение от insite2012 Посмотреть сообщение
switch (((RadioButton)rb).Text)
лучше в Tag положить, пожалуй.... Не через дизайнер, конечно, но всё же не строки сравнивать
0
Эксперт .NET
5546 / 4309 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
20.05.2014, 16:00 9
Spawn, это приведение можно вообще убрать, оно уже есть строкой выше. Осталось от экспериментов.
Можно и через Tag, естественно.
0
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
21.05.2014, 08:12  [ТС] 10
блин что сложно сильно
0
Эксперт .NET
5546 / 4309 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
21.05.2014, 14:28 11
Цитата Сообщение от Sylar9 Посмотреть сообщение
блин что сложно сильно
Не спорю, сложновато, хотя только на первый взгляд. Зато правильно.
0
21.05.2014, 14:28
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.05.2014, 14:28
Помогаю со студенческими работами здесь

работа с формой
Здраствуйте. Мы в колледже изучаем c#(visual studio) но есть одна лаба, которую немогу сделать,...

Работа с классом и формой
Задача: Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими)....

Работа с потоками и формой
Дорогие друзья, передо мной встала проблема. Нужно toolstripprogressbar обновлять по ходу...

Программная работа с формой на сайте
Ситуация следующая. На страничке необходимо выбрать значение в select, и затем нажать...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru