• ベストアンサー

C# textbox内のテキストをクリックで表示

C#でTextbox内のテキストをpicturebox上でマウスをクリックした位置に 表示するプログラミングを教えていただきたいです…。 ググってみましたが、なかなか見つからなくて

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

いろいろ書き方はあると思いますが、例えばFormに ・textBo1というTextBox ・pictureBox1というPictureBox が配置されていたとして、 pictureBox1のマウスダウンのイベントハンドラで次のように処理してはどうでしょう? (エラー処理はしてません) private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { string str = textBox1.Text; // Graphicsオブジェクトの取得 pictureBox1.Image = new Bitmap(pictureBox1.Width, pictureBox1.Height); Graphics grfx = Graphics.FromImage(pictureBox1.Image); // フォントとブラシ Font font = new Font("MS P ゴシック", 16F); SolidBrush brush = new SolidBrush(Color.Black); if (str == "") str = "?"; // 文字列の描画 grfx.DrawString(str, font, brush, e.X, e.Y); }

yamahands
質問者

お礼

ありがとうございます!(^^)! 試してみます!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C#のtextBoxについて

    C#のtextBoxについて お世話になります。 C#初心者です。 textBox上で、ダブルクリックをしたら、 ○ の記号を表示させたいのですが、 記述方法が分かりません。 どなたかご親切な方、ご教授頂きたく 宜しくお願い申し上げます。

  • Textbox1.textについて

    質問のタイトルからして、何の質問という感じで すみません。TextBox1.TextをTextBox10.Textまでつくり cells(1,1)=TextBox1.Text l l cells(1,10)=TextBox10.Text 各セルにTextBoxの内容を書き込みたいのです。セルとテキストの変化 部分をそれぞれ、変数1、変数2とおいてFor~Next なりDo until loop なりで、変数を変化させようと思いました。cells(1,変数1)の指定 は上手くいったのですが、TextBox変数2.Textの指定がうまくいきません。 TextBox変数2.Textについてどのように変数の設定をしたら、良いでしょうか? そもそも、TextBox1.Textの数字部分【1】は変数に指定できないのでしょうか? すみませんが教えてください。EXCEL2000を使っています。

  • VBAのTextBox表示について質問します。

    実は、MicrosoftのExcel内にありますVBAを使ってシート内に記載られている内容を Userform内にあるTextBoxに表示させたいと考えています。 UserformにあるTextBoxは、シートのセルに対してTextBoxを1個配置させています。 例えば・・・セルA1に入力されている文字をTextBox1に表示 セルB1に入力されている文字をTextBox2に表示 セルC1に入力されている文字をTextBox3に表示 セルD1に入力されている文字をTextBox4に表示 セルE1に入力されている文字をTextBox5に表示と言う様な感じで表示したいです。 セル表示範囲は、A1~E24までのセルでTextBoxもTextBox24まで存在します。 TextBox1.Text = ThisWorkbook.Sheets("Sheet1").Range("A1") TextBox2.Text = ThisWorkbook.Sheets("Sheet1").Range("B1") TextBox3.Text = ThisWorkbook.Sheets("Sheet1").Range("C1") TextBox4.Text = ThisWorkbook.Sheets("Sheet1").Range("D1") TextBox5.Text = ThisWorkbook.Sheets("Sheet1").Range("E1") TextBox6.Text = ThisWorkbook.Sheets("Sheet1").Range("A2") TextBox7.Text = ThisWorkbook.Sheets("Sheet1").Range("B2") TextBox8.Text = ThisWorkbook.Sheets("Sheet1").Range("C2") TextBox9.Text = ThisWorkbook.Sheets("Sheet1").Range("D2") TextBox10.Text = ThisWorkbook.Sheets("Sheet1").Range("E2") 以降~途中省略 TextBox120.Text = ThisWorkbook.Sheets("Sheet1").Range("E24") と言う様な・・・ 上記の、この様なコードでして行くと事は可能なんですが・・・ もっと短く出来ないでしょうか?

  • 【C#】WebBrowser上で表示されているテキストの部分取得

    こんにちは,いつもお世話になっています. C#を用いて,ローカルに保存したhtmlファイルをwebBrowserで表示し, そこに表示されたテキストの一部をマウスで選択してボタンアクションで取得するような機能を実現したいと考えています. 現在WebBrowser.Document.Body.InnerText.Substring(int, int)を使用して選択された文字列を取得しようと考えているのですが, ブラウザで表示されているテキストにはtextBoxでいうところのselectionStartsやselectionLengthのようなプロパティがありません. どのようにしたら可能になるでしょうか. もちろん目的の機能が実現できるならば上記の方法にこだわるつもりはありません. 他に何か方法がありそうでしたらそちらも教えていただけないでしょうか. プログラミング初心者ですので質問の仕方に至らない部分があるとは思いますが, どうぞよろしくお願いいたします.

  • テキストボックスの表示について

    visual basic2010を使用しています。 コンボボックスAの選択が1~4だった時、コンボボックスB、C、Dの選択された結果を、ボタンクリックを経てテキストボックスに表示させるにはどうすればいいでしょうか? If ComboBox1.Text = "1" Then TextBox1.Text = (ComboBox2.Text) TextBox1.Text = (ComboBox3.Text) TextBox1.Text = (ComboBox4.Text) ElseIf ComboBox1.Text = "2" Then TextBox2.Text = (ComboBox2.Text) TextBox2.Text = (ComboBox3.Text) TextBox2.Text = (ComboBox4.Text) ElseIf ComboBox1.Text = "3" Then TextBox3.Text = (ComboBox2.Text) TextBox3.Text = (ComboBox3.Text) TextBox3.Text = (ComboBox4.Text) Else TextBox4.Text = (ComboBox2.Text) TextBox4.Text = (ComboBox3.Text) TextBox4.Text = (ComboBox4.Text) End If 実行した結果、ComboBox4のみの結果がテキストボックスに表示されてしまいました。 '変数を使った場合 If ComboBox2.Text = "1" Then Dim st As String st = (ComboBox3.Text),(ComboBox4.Text),(ComboBox5.Text) textbox1.Text = st ElseIf ~~~~~~~~~~^ こちらは「ステートメントの終わりを指定してください」と出て動作しませんでした。 以上、宜しくお願い致します。

  • クリックするたびにテキストを1個ずつ表示させる

    マウスクリックをしてテキストを1個ずつ表示させたいです。 stage.addEventListener(MouseEvent.CLICK, mc); function mc(event:MouseEvent):void{ var text1 : TextField = new TextField(); text1.text = "Hello World"; this.addChild(text1); } を実行すると、クリックするたびテキストが1つずつ増えていきます。 これを前回のを消去して新たに表示というような形で1つずつ表示させることはできないでしょうか?

    • ベストアンサー
    • Flash
  • Textbox

    TextboxをFormに40個置きます。で、実行でFormを出したら1~40の数字をTextboxに表示させるようにしたいのです。 やり方なのですが、各TextプロパティのTextに数字を入れるというやり方ではない方法でやりたいのです。 40個のTextboxを配列にしてtext(0)・・・text(39)でやろうと思ったのですがどうもうまくいきません>< どなたかご教授お願い致しますm(__)m

  • C#で複数のTextboxから検索してTextを書き込む

    C#初心者で困っています OS XP VS2008 ASP.NET C# で作業しています 複数のTextboxを作成して、そのTextboxのTextプロパティに値を書き込もうとしています。 for(int z=1; z<100; z++) { string tt = z.ToString(); Control tx = FindControl("TextBox" + tt); tx.text = "ccccccc"; } txのtextプロパティが出てきません。 どのようにすれば、textプロパティを書き換えることができるのでしょうか、ご教授をお願いします。

  • 【C#】IBeamがないtextBoxの作り方

    C#の質問です IBeamがないreadonlyのtextBoxを作ろうとしていますが どうしても文字を示すIBeamが消えないのと、 textBoxにマウスポインタが入ったときのイベントで Cursors.IBeamをCursors.Defaultに戻すことができません。 ヒントをお願いします。

  • 複数のtextBoxに読み込んだデータを表示する。

    初めまして。 Visual C++ 2008 Express Edition を使って勉強しています。 今下記のように、1行を読み込んでその都度textBoxに表示していくようにしています。 String ^ b = br->ReadLine(); textBox1->Text = b; b = br->ReadLine(); textBox2->Text = b; b = br->ReadLine(); textBox3->Text = b; b = br->ReadLine(); textBox4->Text = b; b = br->ReadLine(); textBox5->Text = b; これをもっと、簡潔に記述できないでしょうか? String ^ b; for(i=1; i<6; i++){ b = br->ReadLine(); textBox(i)->Text = b; } という気持ちになるのですが。。。どうしたら良いでしょうか? よろしくお願いいたします。