[INME06377]コンテキストメニューが二つ表示される場合がある
対象製品
InputMan for .NET 2.0J Web Forms Edition
発生環境
動作環境と同じ
詳細
コントロールを右クリックし、コンテキストメニューが表示された状態で、再度コントロールの別の箇所を右クリック(MouseDown)します。マウスの右ボタンを押し下げた状態で別のInputMan for .NET Webのコントロールにカーソルを移動し、マウスボタンを離します。すると、マウスボタンを離した場所に2つ目のコンテキストメニューが表示されます。
2つ目のコンテキストメニューはすべてのメニューが選択可能になっていて、コンテキストメニューを表示したコントロールのReadOnlyプロパティがTrueになっている場合でも、[貼り付け]メニューを選択すると、貼り付けができてしまいます。
2つ目のコンテキストメニューはすべてのメニューが選択可能になっていて、コンテキストメニューを表示したコントロールのReadOnlyプロパティがTrueになっている場合でも、[貼り付け]メニューを選択すると、貼り付けができてしまいます。
回避方法
次のように、onmousedownクライアントイベントを実装することで回避できます。
[VB.NET]
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Edit1.Attributes.Add("onmousedown", "if (event.button == 2){FindIMControl('" + Me.Edit1.ClientID + "').ContextMenu.Close();}")
End Sub
[C#]
private void Page_Load(object sender, System.EventArgs e)
{
Edit1.Attributes.Add("onmousedown", "if (event.button == 2){FindIMControl('" + Me.Edit1.ClientID + "').ContextMenu.Close();}");
}
[VB.NET]
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Edit1.Attributes.Add("onmousedown", "if (event.button == 2){FindIMControl('" + Me.Edit1.ClientID + "').ContextMenu.Close();}")
End Sub
[C#]
private void Page_Load(object sender, System.EventArgs e)
{
Edit1.Attributes.Add("onmousedown", "if (event.button == 2){FindIMControl('" + Me.Edit1.ClientID + "').ContextMenu.Close();}");
}
この文書は、以前は次のFAQ IDで公開されていました : 7080