VS'08 properties editor ToolStripMenuItem
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam);
Компилицо!
Почитал спеки, это в пункте 17.2 описано, общий синтаксис для attribute target, вообще говоря предназначенный чтобы глобальный атрибут к чему-нибудь специфическому применить, но вот и так тоже можно.
Прикольно...
а что ожидалось, если не секрет?..
зато если выбрать нужные элементы не в Edit items, а тупо на форме, то есть вкладочка events, на которой всё есть.
Но вообще непонятно, какого, собственно, их нет там.
(по поводу "return: " — ничего не ожидалось, я увидел такую запись первый раз в жизни и изрядно офигел.)
по поводу "return: "Смысл аттрибутов в том, что их можно присобачить к любому объекту.
Потому и есть возможность указать, к какому именно.
Например, некоторые аттрибуты относятся ко всей сборке - и они очень полезны и удобнеы бывают.
Попробуй стандартно-binary-сериализовать объект с подписчиками на его эвенты - узнаешь, что есть еще и [field:NonSerialized] и причём без него реально никак.
У меня все есть (студия 2008).
У меня ContextMenuStrip, причём в компоненте, а не на форме. В результате визуально он не отображается, забираться ему в айтемы приходится кликая в, собственно, айтемс в его пропертях, и вот там-то почему-то нету эвентов.
У меня ContextMenuStrip, причём в компоненте, а не на форме. В результате визуально он не отображаетсяты его через дизайнер добавлял, или руками?
если через дизайнер, то он тогда должен визуализироваться в "списке" используемых компонентов, и по нему будут события
ему нужен не сам стрип, а жлементы его
Как-то вы все совершенно зря считаете меня идиотом. Потому что получается наоборот.
У ToolStripMenuItem есть эвент Click. Из кода он прекрасно ставится. Но когда я хочу его выставить в Формс Дезигнере, я с удивлением обнаруживаю, что в том проперти эдиторе, который появляется когда я тыкаю в Items у самого ContextMenuStrip, эвентов нет как класса.
Из-за того, что кое-кому влом прочитать внимательно оба предложения, уже развелась дурацкая совершенно дискуссия, в которой мне рассказывают, как редактировать эвенты у элементов обычного менюстрипа или эвенты ContextMenuStrip. Спасибо, конечно...
Из-за того, что кое-кому влом прочитать внимательно оба предложения, уже развелась дурацкая совершенно дискуссия,потому что тебе стоило один раз сделать скриншот, поясняющий твою мысль, чем потом всем объяснять что тебя неправильно поняли.
так работает?
Бообще я нашёл воркараунд: если включено generate members, в проперти вьюере можно посмотреть и на айтемы тоже, в дропдауне сверху. В общей тусовке компонентов они не показываются, а там есть. Но всё равно как-то странно!
Бообще я нашёл воркараунд: если включено generate members, в проперти вьюере можно посмотреть и на айтемы тоже, в дропдауне сверху.у меня получилось другое: что generate members - true, что generate members - false, в property box-е они в любом случае есть.
Оставить комментарий
bleyman
У ToolStripMenuItem есть эвент Click. Из кода он прекрасно ставится. Но когда я хочу его выставить в Формс Дезигнере, я с удивлением обнаруживаю, что в том проперти эдиторе, который появляется когда я тыкаю в Items у самого ContextMenuStrip, эвентов нет как класса. Вообще!Это меня глючит или так всё и есть?
Бообще я нашёл воркараунд: если включено generate members, в проперти вьюере можно посмотреть и на айтемы тоже, в дропдауне сверху. В общей тусовке компонентов они не показываются, а там есть. Но всё равно как-то странно!