![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
нужно запретить(при этом Enable=true) состояние checkbox'ов только для отображения
информации. Если условиевыполняется, то программно ставятся или соответственно не ставятся галочки |
|||
|
||||
explorer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 26.2.2008 Репутация: нет Всего: 2 |
У чекбокса есть свойство AutoCheck. Поставь в False и сможешь сам программно ставить галочки. При клике по чекбоксу галочка ставится не будет. Надеюсь, ответил на твой вопрос
![]() --------------------
|
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
Благодарю,
но я так и сделал Только оно отображается как-то.... не очень. При нажатии появляется и исчезает ну или наоборот(как код написал). Вот думал другой вариант есть. |
|||
|
||||
explorer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 26.2.2008 Репутация: нет Всего: 2 |
Это уже может быть проблема в коде. Причем не в коде чекбокса. Сам сталкивался с таким поведением. Выяснилось, что у меня дважды вызывался программный клик.
--------------------
|
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
кода ещё нет
Я поставил false. Пробую нажать на него - вышеописанные симптомы |
|||
|
||||
explorer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 26.2.2008 Репутация: нет Всего: 2 |
Сам попробовал сегодня. На чистую форму кинул checkbox. Поставил AutoCheck в false. Все работает хорошо. Проверяй лучше. Само по себе мигать оно не может. Что-то его дергает.
--------------------
|
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
хорошо попробую
|
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
не могу послать свой утиль!
показал бы |
|||
|
||||
explorer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 26.2.2008 Репутация: нет Всего: 2 |
Попробуй создать чистый проект, добавь на форму только CheckBox и посмотри, как он будет себя вести. В зависимости от результата решим, что делать дальше
![]() --------------------
|
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
сделал проект, chb Autocheck = false
запускаю - на пустом чеке жмёшь быстро появляется галочка потом исчезает |
|||
|
||||
explorer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 26.2.2008 Репутация: нет Всего: 2 |
Как вариант, можно пошаманить с событием Click. Например, при клике сбрасывать галочку в любом случае, а потом выставлять по мере надобности.
--------------------
|
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
ok попробую.
Шаманство великая вещь! Но компонет должен работать и сам хорошо |
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
слушай, я понимаю, что это уже другая тема,но у меня есть вопрос. Я тут ветку создал,но никто не отвечает.
У меня такая задача:надо чтобы по команде(н-р клик) в контекстное меню файлов(любое расширение) встраивалось моё контекстное меню Как винрар или 7-zip. Только на несколько уровней вложенности - 3.Я пока только 2 сделал На основании этих статей 1)http://www.theserverside.net/articles/showarticle.tss?id=ShellExtensions 2)http://www.gotdotnet.ru/blogs/gaidar/6487/ |
|||
|
||||
explorer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 26.2.2008 Репутация: нет Всего: 2 |
Т. е. я так пнимаю, нужно отловить вызов контекстного меню и вставить туда своё? Ты уже сделал на 2 уровня, так? А что мешает при щелчке на втором уровне перехватывать его вызов и вставлять туда 3-ий урвень? Я понятно написал. А-то конец дня рабочего
![]() А что с CheckBox? Проблема остается? --------------------
|
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
Если есть вариант пообщаться через асю, пожалуйста- 445708719 1.дело в том, что я сделал своё меню, прочитав статьи про расширения оболчек. Компилирую проект у меня появляется встроенное меню! Ура, вроде всё работает!(в настройках стоит галочка Register for COM Interop). Мне надо управлять этим процессом - я создал формочку простую 2 кнопки. 1 регистрирует мою библиотеку, 2 отменяет. использую RegisterService.Register menu.dll/Unregister menu.dll. На моей машине работает, только после компиляции проекта. На клиентских вообще не работает! В реестр прописываются мои ветки, но меню не появляется. Обидно (. В форуме уже 2 темы создал по этому вопросу - никто не отвечает. Пробовал свою библиотеку через regsvr32.ехе использовать - пишет ошибку, что не удалось найти точку входа DllRegisterServer(). Но она есть в тексте. Мне сказали, что библиотеки .net регистрируются через команду RegisterService.Register (неправильно пишу - не проекта под рукой).Так и сделал на тестовой форме! Сделал вывод, что не регистрирую свой COM сервер. Как это делает студия мне непонятно. Почему всё работает с включенной галочкой Register for COM Interop? Как это сделать программно? Вопрос открыт. 2. CheckBox пока не победил (. скинь свою формочку с чекбоксом пожалуйста, может у меня проблемы просто |
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
мне ещё подсказали, что нужно установить свойство COMVisible объекта класса в true
где это и как сделать. Глянь на прикреплённые файлы Присоединённый файл ( Кол-во скачиваний: 3 ) ![]() |
|||
|
||||
explorer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 26.2.2008 Репутация: нет Всего: 2 |
Я тебе по секрету скажу, что все public классы идут по умолчанию как ComVisible(true). Так что дело тут не в этом. Регестировать нужно немного иначе.
Я работаю с COM'ом постоянно. Причина того, что "у тебя работает, а у других нет" в том, что ты поставил галочку у "Register for Com interop". Так вот, что делает эта фича ![]() 1) Вызывает tlbExp и получает из твоего COM-сервера tlb файл. Он является библиотекой типов (в нём описано все, что нужно COM, чтобы работать с твоими типами). Затем эта tlb-шка регестрируется в реестре. Типы данных зарегестрированы. Но все еще работать не будет, т.к. мы "не знаем", где лежит наш сервер (твоя менюшка). 2) Для этого вызывается утилита gacutil с ключем -i (установить). Эта штука помещает твою dll с сервером в Global Assembly Cache (GAC). Слыхал о таком? Так вот , теперь система однозначно знает, где брать твой сервак (все сборки .Net сначала ищутся в GAC. Правда тут одно но. Для регисрации в GAC сборка должна быть подписана, т.е. должен быть файл с ключем. Это можно легко сделать в настройках проекта. После этого, твой сервер будет доступен. Самый простой способ воспроизвести весь порядок действий на целевом компе - это содать еще один проект в том же солюшене. Проект установщика твоего сервера. Работать с установщиом достаточно просто, если тебе нужно все стандартное. В твоем случае этого будет достаточно. ТАк вот, указываешь установщику, что твою dll нужно регистрировать как COM и все. --------------------
|
|||
|
||||
explorer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 26.2.2008 Репутация: нет Всего: 2 |
Эх, я немного ошибся с последовательностью в предыдущем посте. Вот привожу пример bat файла, которым я вручную устанавливаю свои серверы.
Работать будет при условии, что путь к tlbExp и gacutil прописан в Path. Иначе надо полный путь к ним указывать. Это сообщение отредактировал(а) explorer - 15.12.2009, 11:24 --------------------
|
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
можешь попробовать мою dll? что-то не так делаю
Присоединённый файл ( Кол-во скачиваний: 3 ) ![]() |
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
почему-то пишет недопустимый формат файла menu.dll?
вроде всё правильно сделал:
|
|||
|
||||
explorer |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 26.2.2008 Репутация: нет Всего: 2 |
Вот что мне вернуло:
Все эти предупреждения не критичны, кроме того, что сбора не подписана: Failure adding assembly to the cache: Attempt to install an assembly without a strong name. В свойсвах проекта зайди на вкладку Signing и создай ключ. Потом только все зарегистрируется. И еще, т.к. запускать скрипт установочный нужно от имени администратора, то может понадобиться указание путей. Например вот так:
--------------------
|
||||
|
|||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
Сделал подпись - родился сертификат menu.pfx. Скомпилировал проект.
Что-то не учёл опять файлы tlbExp и gacutil поместил в папку с bat-файлом На tlbexp получил ошибку
Добавлено через 13 минут и 24 секунды забыл ошибку приложить. В архиве моя обновлённая dll с подписью и картинка ошибки. Я в командной строке пытался проверить tlbExp. Может у меня с tlbExp что-то не так. Разве я должен с собой её везде таскать. В тестовой системе я не обнаружил файла tlbExp и gacutil поэтому докинул их в папку Попробуй пожалуйста ещё раз Присоединённый файл ( Кол-во скачиваний: 2 ) ![]() |
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
вот содержимое папки
.... tlbExp взял из папки C:\Windows\SDKs\Windows\v6.0A\bin gacutil из папки frameworka ..v.1.1.4322 Присоединённый файл ( Кол-во скачиваний: 3 ) ![]() |
|||
|
||||
explorer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 26.2.2008 Репутация: нет Всего: 2 |
Ты не поверишь
![]() Это сообщение отредактировал(а) explorer - 18.12.2009, 09:57 Присоединённый файл ( Кол-во скачиваний: 4 ) ![]() --------------------
|
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
РАБОТАЕТ!!!!!
чтобы всё удалить, ключи /u поставить надо в другом батнике?? |
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
как спасибо сказать?
|
|||
|
||||
explorer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 26.2.2008 Репутация: нет Всего: 2 |
Спасибо можно и так, ты это, в принципе, уже сделал
![]() Как удалить:
А вот насчет галочки в CheckBox все же сомнения у меня... Ты какой фреймворк используешь? 2.0 или выше (и не бету ли какую)? --------------------
|
|||
|
||||
Perun |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.8.2007 Где: Краснодар Репутация: нет Всего: нет |
VisualStudio 2008 FrameWork 3.5
В свойсвах проекта пробовал 2,0 ставить - не то |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |