• 締切済み

PictureboxがEnabledがfalseでもtooltipを表示させたい

言語はC#です。 PictureboxのEnabledがfalseの際でも、 tooltipによる表示を行いたいのです。 しかし、通常の動作ではEnabledがfalseの際、 tooltipが表示されません。 どうやれば、表示できるようになりますか。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

カーソルが PictureBoxの中にある場合に表示させたいなら Timerを使って判定といった具合になりそうです dim pt as Point = PictureBox1.PointToClient( Cursor.Position ) dim rc as Rectangle = PictureBox1.Bounds if rc.Contains( pt ) then   ToolTip1.Show( "sample", PictureBox1, pt ) end if といった具合で ...

関連するQ&A

  • 動的に配置したpictureboxについて

    Visual C# 2008を使っています。 pictureboxを動的に配置し、そのpictureboxをクリックすることで 初めて押せるようなボタンを用意したいと思っています。(通常は「ボタン名.Enable = false」にしています) しかし、静的に配置したpictureboxならうまくいくのですが、動的に配置したpictureboxはクリックしても反応しません。 これは何が原因なのでしょうか? わかる方がいましたら回答をお願いします。

  • C♯のTooltipについて

    C♯でのTooltipについて コードの効率化をしよとしているのですが、Tooltipで設定した内容をラベルコントロールに代入して同じ表示にしたいと思っています。仮にラベルコントロールが二つ(ラベルAとラベルB)があり ラベルA = TooltipのテキストA ラベルB = TooltipのテキストB と代入したい場合どうすればいいでしょうか? すでにTooltipのテキストを設定しているとして、コードの中でこのテキストをどうやって取得出来るんでしょうか?

  • C#でPictureBoxが二重に表示される

    碁盤を描画し、その上にマウスを合わせたとき付近の交点にPictureBox(サイズは21x21)でカーソルを表示しようと考え、次のように書きました。 int sx = (int)Math.Floor((double)(e.X - 12) / 25) + 1; int sy = (int)Math.Floor((double)(e.Y - 12) / 25) + 1; imgCsObj.Location = new Point(sx*25-21, sy*25); しかし盤上でマウスを動かすと画像のように二重にカーソルが表示される現象が起きました。 おそらく内部的にはカーソルを表示した途端にフォーカスが盤から離れPictureBoxを移動する作業が中断されたせいでは、と思い imgCsObj.Enabled = false; imgCsObj.Location = new Point(sx*25-21, sy*25); imgCsObj.Enabled = true; 一度無効にしてフォーカスがあたらない状態で位置だけ変更しようと思いましたが同じ結果でした。 どうやって以前の位置のカーソルを消せば良いのでしょうか

  • C# MouseHoverを何度も呼ぶには

    C# MouseHoverを何度も呼ぶには いつもお世話になっています 只今、PictureBoxに複数の絵(四角などの図形)を描画し 各図形にマウスを持って行ったときにToolTipを表示するプログラムを作成しているのですが、うまくいきません。 マウスを動かして、ある図形で止まったらToolTipを表示するという処理にしたいのですが PictureBoxにマウスが入ってから出るまでの間、MouseHoverが1度しか呼ばれません。 これでは、使い勝手が悪すぎるので何とかしてマウスが止まるたびにToolTipを表示したいのです。 MouseHover内では、マウスの位置からどの図形の上にマウスがあるかチェックし 図形別に用意してある文字を表示しています。 toolTip1.SetToolTip(pictureBox1, "文字列"); toolTip1.Active = true; 代替案などでもかまいませんので どなたか分かる方がいましたらお願いします。 OS:Vista 環境:VisualStudio2008 言語:C#

  • pictureboxの表示について

    いつもお世話になります。 C#について質問です。VisualC#2008を使っています。 private PictureBox[] pictArray = new PictureBox[100]; private void Box_Load() { PictureBox pict; int nIdx = 0; while (nIdx < pictArray.Length) { pict = new PictureBox(); pictArray[nIdx] = pict; pict.Click += new EventHandler(pict_Click); nIdx++; } } のように、あるメソッドで配列にpictureboxの画像を代入(?)していく処理をしています。このメソッドを別のメソッドで呼び出し、 pictArray[1]に格納されているpicturebox pictArray[2]に格納されているpicturebox  …といった具合に、次々と表示させていきたいと考えています。しかし1つしかpictureboxが表示されません。具体的には以下のようなプログラムを組んでいるところです。 private void pict_Click(object sender, EventArgs e) { Box_Load(); kihon_pict.Location = new Point(10, yy); this.panel1.Controls.Add(pict); yy += 40; } 誰か解決策を教えていただけないでしょうか? よろしくお願いします。

  • C# PictureBox + panelでのスクロール

    C#でグラフを表示をさせるため、PictureBoxをPanelに貼り付け、AutoScroll=trueとしてPictureBoxに描画し、スクロール表示させることにしました。通常の表示を行う際には問題はないのですが、グラフを2倍や3倍に拡大表示を行おうとすると、PictureBox.Widthの設定可能な最大値が32768であるため、グラフの右端を表示することができません。表示させたいグラフの幅は30000dotなので、3倍表示する際には90000dot必要となります。 なにかいい解決方法がありましたらご教示をお願いします。

  • 画面キャプチャ時に、画面上のToolTipを非表示にさせたいと考えてお

    画面キャプチャ時に、画面上のToolTipを非表示にさせたいと考えております。 ToolStrip の部品をクリックすると、対象フォームのキャプチャ画像を 取る仕組みになっているのですが、そのボタンには ToolTipText が設定されているため、 キャプチャを取る時 ToolTip までキャプチャ対象となってしまいます。 そこで、ボタンクリック時に ShowItemToolTips をFalseにする方法を試しましたが、 キャプチャ取得までに ToolTip の非表示が間に合わず、やはりキャプチャ画像に 写り込んでしまいました。 下記のようなWait処理を入れてみましたが、DoEvents では ToolTip の非表示化は 行われないらしく、この方法も上手く行きませんでした。 'Friend WithEvents objTool As System.Windows.Forms.ToolStrip objTool.ShowItemToolTips = False For i = 0 To 4 Thread.Sleep(100) Application.DoEvents() Next (キャプチャ処理) 何とかToolTipを非表示にした状態でキャプチャが取れないものでしょうか? ご教授のほど、宜しくお願い致します。 作業環境: OS:Windows 7 Proffesional VB:Visal Studio 2008 Proffesional Edition Ver.9.0.21022.8 RTM Microsoft .NET Framework Ver 3.5 SP1

  • PictureBoxの機能

    PictureBoxの機能について、お聞きしたいです。 PictureBoxに線や丸などを描くだけというものを作りたいです。 そこで、PictureBoxから、はみ出た部分(通常はみれなくなる部分)を、文章のようにスクロールなどを使って、表示可能にしたいです。 しかし、そのような機能が見つかりません。 どなたか、良い解決方法を教えてください。

  • C# ToolTipを特定のタイミングで出すには?

    お世話になります。 C#で、何かの処理結果などをToolTipで出せればいいなと 思っているのですが、可能でしょうか。 普通であれば、メッセージボックスなどて結果を表示したり するのですが、長い作業を連続で行う際に、いちいち メッセージボックスを表示させるのは、作業者側にもストレスが たまります。 そこで、途中結果をToolTipなどで出しながらも、メッセージ ボックスのようなキー入力待ちはさせないようにしたいのです。 …最悪な場合には、テキストボックスを使用すればと思ったの ですが、できれば使わずに済ませたいと思います。 以上、宜しくお願い致します。

  • Enabled=Falseのテキストボックスの文字の色

    VB6です。 テキストボックスで、Enabled=Falseに設定されているものについては、基本的にグレーアウトで表示されると思いますが、そのままの設定で色だけを変更する方法はあるのでしょうか。 なければ、ないでいいのですが、もしあれば便利だと思いましたので、ご存知でしたら教えてください。 なお、テキストボックスではなく、ラベルを使いなさいというのはできません。 処理がめんどくさいので、すべてをコントロール配列にして一度ですべての処理をさせたいからです。