Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обращение к элементам формы, Помощь начинающему 
:(
    Опции темы
Syrex
Дата 20.12.2006, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 9.2.2006
Где: Москва

Репутация: нет
Всего: 1



Создал проект WinApp и назвал его Main
На форму поместил TextBox
Далее создал свой класс  MyClass и переменную Text

Вопрос: Как присвойить значение TextBox переменной Text

(В Билдере можно было так: 
Код
Text=Main->TextBox->Text;
, но в C# так невозможно)

PM MAIL ICQ   Вверх
reloni
Дата 20.12.2006, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 10.5.2006
Где: Москва

Репутация: 1
Всего: 4



Переменная Text типа string? Тода:
Код

Text = textBox1.Text;

Если я правильно понял вопросsmile
ps textBox1 - переменная типа TextBox ессно.
PM MAIL ICQ   Вверх
Syrex
Дата 20.12.2006, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 9.2.2006
Где: Москва

Репутация: нет
Всего: 1



что значит ps textBox1 - переменная типа TextBox ессно.

Добавлено @ 10:59 
Main:
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Escort_Sharp
{
    public partial class MainF : Form
    {
        public MainF()
        {
            InitializeComponent();
        }
    }
}


MyClass:
Код

using System;
using System.Collections.Generic;
using System.Text;

namespace Escort_Sharp
{
    class Check
    {
        public string Text;
        public Check()
        {
            Text=  //что тут написать?
        }
    }
}

PM MAIL ICQ   Вверх
ivashkanet
Дата 20.12.2006, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 11
Всего: 149



Syrex, обращение идет изнутри класса MyClass?
Тогда он должен хранить в себе ссылку на форму 
либо ссылку на форму можно объявить статической (static) и обращаться из любого места, но я этот вариант не советую, хотя он и ближе к Делфям  smile

Добавлено @ 11:06 
Код

using System;
using System.Collections.Generic;
using System.Text;
namespace Escort_Sharp
{
    class Check
    {
        public string Text;
        public Check(string text)
        {
            [S]Text=  //что тут написать?[/S]
            Text = text;
        }
    }
}


Использование из класса MainF:
Код

Check ck = new Check(this.TextBox.Text);

P.S. Так как мы создаем класс Check из класса MainF, то this --- указатель на него самого smile

PM MAIL WWW ICQ   Вверх
Syrex
Дата 20.12.2006, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 9.2.2006
Где: Москва

Репутация: нет
Всего: 1



А как будет выглядеть этот же пример, если класс Main изменить так:

Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Escort_Sharp
{
    public partial class MainF : Form
    {
        public MainF()
        {
            InitializeComponent();
        }
        public string MyText
        {
            get { return this.TextBox.Text; }
        }

    }
}
 - вроде так правильней?!

Это сообщение отредактировал(а) Syrex - 20.12.2006, 11:24
PM MAIL ICQ   Вверх
ivashkanet
Дата 20.12.2006, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 11
Всего: 149



Цитата(Syrex @  20.12.2006,  10:20 Найти цитируемый пост)
вроде так правильней?!

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

В любом случае дизайнер форм открывает TextBox напоказ.

Но если хочешь ---- 
Код

Check ck = new Check(this.MyText);


ЗЫ this можно опустить, но он мне просто нравится smile
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0443 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.