コンテキストメニューが二つ表示される場合がある
対象製品
InputMan for .NET 1.0J Web Forms Edition
発生環境
動作環境と同じ
状況
修正済み
詳細
コントロールを右クリックし、コンテキストメニューが表示された状態で、再度コントロールの別の箇所を右クリック(MouseDown)します。マウスの右ボタンを押し下げた状態で別のInputMan for .NET Webのコントロールにカーソルを移動し、マウスボタンを離します。すると、マウスボタンを離した場所に2つ目のコンテキストメニューが表示されます。
2つ目のコンテキストメニューはすべてのメニューが選択可能になっていて、コンテキストメニューを表示したコントロールのReadOnlyプロパティがTrueになっている場合でも、[貼り付け]メニューを選択すると、貼り付けができてしまいます。
2つ目のコンテキストメニューはすべてのメニューが選択可能になっていて、コンテキストメニューを表示したコントロールのReadOnlyプロパティがTrueになっている場合でも、[貼り付け]メニューを選択すると、貼り付けができてしまいます。
回避方法
この問題は、2007/08/15の暫定修正版で修正されています。
暫定修正版はこちら からダウンロードできます。
または、次のように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();}");
}
暫定修正版はこちら からダウンロードできます。
または、次のように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();}");
}
キーワード
INME06377
この文書は、以前は次のバグレポートIDで公開されていました : 7081