K N Sharma Ответов: 1

Как управлять пользовательским классом с помощью элементов управления windows form


Привет,

Я много раз читал концепцию oops из разных статей-2, и концепция мне ясна. Я работаю разработчиком программного обеспечения с последних 7 лет, используя технологию c# dot net, но все еще не могу знать, как манипулировать пользовательским классом с помощью элементов управления windows form для извлечения и сохранения данных в базу данных, поскольку элементы управления windows form недоступны из пользовательского класса, либо это генерирует ошибку времени выполнения, либо дает неожиданный результат.

Поэтому здесь я хочу знать, как я могу использовать элементы управления windows с пользовательскими классами. Я имею в виду, я хочу, чтобы определить некоторые функции, такие как ADO.NET/Sql команду, чтобы получить и сохранить данные в базу и другие необходимые функции в пользовательский класс и управлять этими функциями с Windows форм управления, как текстовое поле, поле со списком, кнопка, элемент, список, RADIONBUTTON и т. д.

Пожалуйста, предложите любое решение.

Спасибо

Что я уже пробовал:

Я попытался сделать это с помощью самостоятельной практики, но не смог получить решение.

F-ES Sitecore

Похоже, ваш вопрос звучит так: "как мне написать программу". Возьмите книгу по разработке форм и пройдите ее, чтобы понять основы, вы не можете узнать что-то настолько широкое и сложное из сообщений на форуме.

#realJSOP

Если вы занимаетесь этим уже семь лет и все еще не понимаете этого, возможно, вам стоит подумать о другом направлении работы.

Richard MacCutchan

7 лет в качестве разработчика C#, и вы все еще не понимаете основ? Если вы создадите пользовательскую форму на основе системы.Окна.Форма класса у вас есть доступ ко всему.

Eric Lynch

Никакой магии тут нет. При разработке формы просто подпишитесь на одно из событий, отображаемых элементами управления. С помощью WinForm designer это обычно включает в себя двойной щелчок мышью по экрану. control...at в этот момент в вашу форму добавляется метод заглушки для обработки этого события. Например, кнопка имеет событие щелчка. Затем внутри этого метода обработчика поместите любую логику, которую вы хотите вызвать, в свои пользовательские классы.

Тем не менее, как и другие респонденты, я несколько удивлен, что вы еще не сделали этого за 7 лет работы разработчиком C#. Почти все UI управляются событиями...точный интерфейс и дизайнер меняются между подходами, но концептуально все это примерно одно и то же.

K N Sharma

Я думаю, вы не поняли моего вопроса. Моя проблема заключается в доступе к элементу управления формой окна, такому как текстовое поле в методе пользовательского класса, чтобы получить и сохранить запись в базе данных.

K N Sharma

Я думаю, вы не поняли моего вопроса. Моя проблема заключается в доступе к элементу управления формой окна, такому как текстовое поле в методе пользовательского класса, чтобы получить и сохранить запись в базе данных.

K N Sharma

Я думаю, вы не поняли моего вопроса. Моя проблема заключается в доступе к элементу управления формой окна, такому как текстовое поле в методе пользовательского класса, чтобы получить и сохранить запись в базе данных.

K N Sharma

Я думаю, вы не поняли моего вопроса. Моя проблема заключается в доступе к элементу управления формой окна, такому как текстовое поле в методе пользовательского класса, чтобы получить и сохранить запись в базе данных.

Richard MacCutchan

Мы понимаем ваш вопрос, но в нем не хватает многих полезных деталей. В нынешнем виде мы понятия не имеем, на чем основан ваш пользовательский класс и как он соотносится с вашей формой. Если ваш пользовательский класс основан на Windows.С формой тогда нет абсолютно никаких проблем. Если он основан на чем-то другом, то вам нужно сказать нам, что это такое и в чем заключается трудность доступа к свойствам формы.

Как я уже говорил ранее, после 7 лет работы в качестве разработчика C# это должно быть легко.

Eric Lynch

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

1 Ответов

Рейтинг:
6

OriginalGriff

Чтобы работать с элементами управления Windows и быть отображенным, ваш класс должен быть самим элементом управления - то есть он должен быть производным от элемента управления, чтобы получить windows и цикл сообщений. Обычный способ сделать это-создать класс UserControl и поместить в него элементы управления формой. Класс UserControl (System.Окна.Формы)[^]
Если вы не пытаетесь создать элемент управления, который можно отобразить, то вы бы рассматривали его как обычный класс: вы получаете и устанавливаете данные через свойства и заставляете его делать что-то с помощью методов. Мы не можем объяснить вам всего этого - если вы были разработчиком в течение 7 лет и не понимаете таких очень, очень простых вещей, то вам действительно нужно взять книгу и прочитать ее от корки до корки, потому что ясно, что вы где-то упустили слишком много вещей...


K N Sharma

Спасибо за ответ. Да, это то, что я хочу знать. Я знал, что могу сделать это с помощью концепции свойств для передачи значений, но я также хотел подтвердить, что есть ли какой-либо способ получить доступ к элементам управления формой окна, таким как текстовое поле в методе пользовательского класса, или нет.

Спасибо

OriginalGriff

Если вы хотите содержать текстовые поля, вам нужно использовать элемент управления - поэтому начните с проверки того, из чего происходит ваш класс.

Как только у вас есть UserControl, содержащий текстовые поля и т. д., Вы не получаете к ним доступ непосредственно извне - это плохая идея, поскольку она "блокирует" дизайн; вы не можете вносить изменения, не думая о том, как внешний мир мог бы использовать его - вместо этого вы используете свойства вашего класса для доступа к данным из дочерних элементов управления.