DOBON.NET DOBON.NETプログラミング掲示板過去ログ

コンテキストメニューの表示位置の指定方法

環境/言語:[win 7 c#]
分類:[.NET]

フォーム上のボタンをクリックするとコンテキストメニューが表示されるといったプログラムを書いています。

private void button1_Click(object sender, EventArgs e)
{
contextMenuStrip1.Show(button1, new Point(button1.Width, button1.Height));
}

上記のプログラムを実行するとボタンの右下にコンテキストメニューが表示されます。表示場所を下方向ではなく、上方向に表示したいと思っています。それも、ボタンの縦横の半分のラインより左上に表示させたいと思っています。

下記の画像のような場所です。
http://fast-uploader.com/file/6952955964495/

どのように左上に座標を設定すればよろしいでしょうか?
よろしくお願いいたします。
■No32259に返信(剛士さんの記事)
> 上記のプログラムを実行するとボタンの右下にコンテキストメニューが表示されます。表示場所を下方向ではなく、上方向に表示したいと思っています。それも、ボタンの縦横の半分のラインより左上に表示させたいと思っています。
> どのように左上に座標を設定すればよろしいでしょうか?

第2引数にメニューの右下の座標を,第3引数にToolStripDropDownDirection.AboveLeftを指定すればよいでしょう。
refs)
http://msdn.microsoft.com/ja-jp/library/ms160853(v=vs.110).aspx
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.toolstripdropdowndirection(v=vs.110).aspx
YuOさん
ご紹介頂きましたサイトで問題が解決できました。ありがとうございました!!
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板