- PR -

ContextMenuのSourceControl

1
投稿者投稿内容
me2kichi
会議室デビュー日: 2007/10/02
投稿数: 15
投稿日時: 2007-12-05 16:05
こんにちは。
.NET F 2.0 / VB / VS2005 / WinFormで開発を行っています。

ContextのItemClickイベントで、下記コードのように、
Contextの右クリックされたControlを、SouceControlを使って取得し、
別のメソッドに渡しています。

しかし、初回はctxt.SourceControlの中がNothingになっており、
2回目以降に正しいコントロール名が入ります。

何故そうなるのか、分からないのですが、
ご存知の方が居れば教えてください。

因みに、ctxtは初回でもNothingではありません。


コード:
Dim ctxt As ContextMenuStrip = DirectCast(sender, ContextMenuStrip)
ctxt.Visible = False
MGrdSK_ItemClick(DirectCast(ctxt.SourceControl, MultiRowSheet) _
               , DirectCast(e.ClickedItem, ToolStripMenuItem).Name)

me2kichi
会議室デビュー日: 2007/10/02
投稿数: 15
投稿日時: 2007-12-06 08:49
自己レスです。


Dim mtr = DirectCast(ctxt.SourceControl, MultiRowSheet)と、
一度変数に格納してから、
MGrdSK_ItemClick(mtr, DirectCast(e.ClickedItem, ToolStripMenuItem).Name)
と行うと、初回でも正常に動作しました。

また、MultirowSheetとはGrapeCity社製のグリッドのことで、
標準では無いコントロールです。説明不足でした。


1

スキルアップ/キャリアアップ(JOB@IT)