|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.02.2008, 17:28 | #1 |
C# developer
Форумчанин
Регистрация: 03.10.2007
Сообщений: 393
|
Компоненты в С#
Здраствуйте есть вопрос вот если мы хотели написать компонент в дэльфи мы брали открывали файл новый и т.д. Сечас я учу С# и захотелось написать свой компонент и вот какой файл создать для этого?
Пишу в MS Visual C# Express Edition. Заранее всем благодарен.
I like WPF
|
19.02.2008, 23:29 | #2 |
Пользователь
Регистрация: 20.01.2008
Сообщений: 24
|
Ну вобщем-то компонентов как таковых нет, но есть библиотеки классов. Наверно обратили внимание на
using System; using System.Data; using System.Linq; и так далее так вот, все это System.dll System.Data.dll System.Linq.dll и так далее эти библиотеки реализуют методы классов, там также есть наследование от существующих классов компонентов и контролов, ну вобщем все как вам привычно было раньше в Delphi. Создать эту библиотеку можно как обычный проект, потом Вы ее буилдите, пишете для нее xml-файлик, который потом используется для регистрации Вашего нового контрола в палитре компонентов. Вобщем читайте MSDN - там написано все. |
19.02.2008, 23:36 | #3 |
Пользователь
Регистрация: 20.01.2008
Сообщений: 24
|
Например, Вы написали контрол под названием ChartControl и получили библиотеку ChartControl.dll
Теперь Вы создаете xml-файл пустой и пишите туда примерно следующее: <?xml version="1.0" encoding="utf-8"?> <VSContent xmlns="http://schemas.microsoft.com/developer/vscontent/2005"> <Content> <FileName>ChartControl.dll</FileName> <DisplayName>ChartControl</DisplayName> <Description>Simple chart control with date-valued X-axis.</Description> <FileContentType>Toolbox Control</FileContentType> <ContentVersion>1.0</ContentVersion> </Content> </VSContent> Cохраняете этот файлик с названием ChartControl.vscontent и ложите его рядом с вашей библиотеке в одном каталоге. Затем жмете на этот файл и запускается студийная хреновинка, которая делает попытку установить ваш контрол. Появляется сообщение, что типа ОЙ, ошибка, типа создан каталог с вашим файлом где-то внутри текущего каталога и все, ниче не установил. Потом несмотря на это и ничего не меняя снова жмете файл, установка...готово, наслаждайтесь вашим контролом в палитре (ToolBox) |
20.02.2008, 12:00 | #4 |
C# developer
Форумчанин
Регистрация: 03.10.2007
Сообщений: 393
|
Спасиюо юольшое вы мне очень помогли. Есть еще один маленький вопросик.Создаю новую библиотеку классов. хочу прописать System.Windows.Forms не подключается его просто нет в пространстве имен System для class library.
I like WPF
|
22.02.2008, 21:16 | #5 |
Пользователь
Регистрация: 20.01.2008
Сообщений: 24
|
Всегда пожалуйста )
Да тут тоже без проблем особых. Заходим в browser проектов, выбираем в солюшене нужный проект (если их несколько), смотрим нод в дереве под названием References, жмыхаем правым ухом мыши по нему и выбираем Add Reference, а потом из списка выискиваем System.Windows.Forms и жмем ok. Все, теперь можете добавлять строчуц using System.Windows.Forms в любой файл своего проекта. |
14.04.2008, 14:30 | #6 |
Регистрация: 14.04.2008
Сообщений: 7
|
2darkstarx:: извините, но вы написали полнейшую лабуду! )) хотелось просто подписаться "поржал"
"компонентов как таковых нет" - как это нет? а для чего класс Код:
2kommunist:: если вам нужен невидимый компонент - породите его от класса Component, если видимый - от класса Control (ну или от любого другого видимого компонента), если нужен контейнер для контролов - используйте UserControl. вот пример простой контролки, рисующей овал: Код:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
компоненты | bill | Помощь студентам | 10 | 19.04.2008 14:02 |
Компоненты | AngelOfDeath | Компоненты Delphi | 0 | 12.04.2008 11:43 |
Компоненты! | Altera | Компоненты Delphi | 2 | 07.03.2008 15:22 |
Компоненты для XML | John_chek | Компоненты Delphi | 1 | 21.11.2007 11:32 |