tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルフォームに文字を表示したいのですが
記事No7687
投稿日: 2008/06/11(Wed) 09:54
投稿者monmon
VB6では、form1.currentx= 300
            form1.currenty=300
            form1.print "日本"
のように表示できたのですが、vb2005では同じような
表示方法があるのでしょうか。
(なお、Textbox、Labelは使用しないことを考えています)
もうひとつですが、フォームをマウスでクリックしたときに
x,yの値を取得できるでしょうか。
よろしくお願いします。

[ツリー表示へ]
タイトルRe: フォームに文字を表示したいのですが
記事No7688
投稿日: 2008/06/11(Wed) 10:17
投稿者よねKEN
> VB6では、form1.currentx= 300
>             form1.currenty=300
>             form1.print "日本"
> のように表示できたのですが、vb2005では同じような
> 表示方法があるのでしょうか。

やり方はまったく異なりますが、同じようなこと自体はできます。
例えば、FormのPaintイベントでイベントの引数eのGraphicsプロパティから
Graphicsオブジェクトを取得し、このGraphicsクラスのDrawStringメソッド
を使って描画します。

> (なお、Textbox、Labelは使用しないことを考えています)
> もうひとつですが、フォームをマウスでクリックしたときに
> x,yの値を取得できるでしょうか。

VB2005以降(.NET Framework2.0以降)にはコントロールにMouseClickイベントがあり、
この際のイベントの引数(MouseEventArgsクラス)のプロパティX、Yで取れます。

[ツリー表示へ]
タイトルRe^2: フォームに文字を表示したいのですが
記事No7709
投稿日: 2008/06/19(Thu) 09:11
投稿者monmon
よねKENさま

先日アドバイスいただいた後、色々試行錯誤を繰り返しましたが、理解できませんでした。
>FormのPaintイベントでイベントの引数eのGraphicsプロパティから
>Graphicsオブジェクトを取得し、このGraphicsクラスのDrawStringメソッド
>を使って描画します。

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
'xxxxxxxxxxxxx
End Sub

'xxxxxxx にどんな命令を入れたらよいのか、ご指導ください。

また、
>VB2005以降(.NET Framework2.0以降)にはコントロールにMouseClickイベントがあり、
>この際のイベントの引数(MouseEventArgsクラス)のプロパティX、Yで取れます。

アドバイスいただきましたが、フォームをクリックしたとき、'xxxxxxx にどんな命令を
入力すれば、x,yを取得できるかわかりません。
Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
'xxxxxxxxxxxxxxxx        

End Sub

[ツリー表示へ]
タイトルRe^3: フォームに文字を表示したいのですが
記事No7710
投稿日: 2008/06/19(Thu) 09:18
投稿者花ちゃん
ここのTips集をご覧下さい。

 http://www.hanatyan.sakura.ne.jp/dotnet/index.html

[ツリー表示へ]
タイトルRe^4: フォームに文字を表示したいのですが
記事No7715
投稿日: 2008/06/20(Fri) 16:48
投稿者monmon
花ちゃんさま
Tipsを参照させていただき、なんとか実行できました。ありがとうございました。

> ここのTips集をご覧下さい。
>
>  http://www.hanatyan.sakura.ne.jp/dotnet/index.html

先に、text1(i) のロードの仕方を教わり、30コのtext1をフォーム上に表示できるように
なりました。このテキストボックスをクリックしたとき、何番目のテキストボックスを
クリックしたのかを知ることはできるでしょうか。

[ツリー表示へ]
タイトルRe^5: フォームに文字を表示したいのですが
記事No7717
投稿日: 2008/06/20(Fri) 17:41
投稿者るしぇ
イベントを起こしたコントロールを引数として送る形に
プログラムしたならそのまま取得すればいいし、

クリックした座標しか分からないようなプログラムを
作ったなら、全ての text1(i) のTop Left Width Height
から計算して判定すればいいのでは?

[ツリー表示へ]
タイトルRe^6: フォームに文字を表示したいのですが
記事No7722
投稿日: 2008/06/23(Mon) 09:59
投稿者monmon
るしぇ さん
> クリックした座標しか分からないようなプログラムを
> 作ったなら、全ての text1(i) のTop Left Width Height
> から計算して判定すればいいのでは?

画面をクリックして、x,y を取得できますが、text1(i)をクリックしてもx,yの値を取得で
きません。よい方法がないものでしょうか。

[ツリー表示へ]
タイトルRe^7: フォームに文字を表示したいのですが
記事No7723
投稿日: 2008/06/23(Mon) 17:19
投稿者るしぇ
>text1(i)をクリックしてもx,yの値を取得できません。
text1(i)のクリックイベントで取得できます。

[ツリー表示へ]
タイトルRe^8: フォームに文字を表示したいのですが
記事No7732
投稿日: 2008/06/25(Wed) 06:06
投稿者monmon
るしぇさま

text1(i)のクリックイベントを指定できず、あきらめました。
ご指導いただきありがとうございました。
またお世話になるときはよろしくお願いします。

> >text1(i)をクリックしてもx,yの値を取得できません。
> text1(i)のクリックイベントで取得できます。

[ツリー表示へ]
タイトルRe^9: フォームに文字を表示したいのですが
記事No7733
投稿日: 2008/06/25(Wed) 07:35
投稿者花ちゃん
>  text1(i)のクリックイベントを指定できず、あきらめました。

Private Sub TextBox1_MouseClick(ByVal sender As Object, _
         ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseClick
   Debug.WriteLine("X= " & e.X & "   Y= " & e.Y)

   MessageBox.Show("X 座標 : " & Cursor.Position.X.ToString & "   " & _
                   "Y 座標 : " & Cursor.Position.Y.ToString)
End Sub

[ツリー表示へ]
タイトルRe^10: フォームに文字を表示したいのですが
記事No7753
投稿日: 2008/06/29(Sun) 07:35
投稿者monmon
花ちゃん さま

活用させていただきます。
ありがとうございました。

> Private Sub TextBox1_MouseClick(ByVal sender As Object, _
>          ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseClick
>    Debug.WriteLine("X= " & e.X & "   Y= " & e.Y)
>
>    MessageBox.Show("X 座標 : " & Cursor.Position.X.ToString & "   " & _
>                    "Y 座標 : " & Cursor.Position.Y.ToString)
> End Sub

[ツリー表示へ]