- PR -

テキストボックスの高さ

1
投稿者投稿内容
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-11-10 16:20
 こんにちは。

初歩的な質問ですいません。
VB2005のテキストボックスの高さを
自動で変えることはできますか?

ActiveReportsでいうCanGrowプロパティみたいなものです

Multiline、Wordwrapは試してみましたがダメでした。

10文字表示できるところに
20文字セットしたら自動でテキストボックスを高くしたいのですが
このようなこと、できるのでしょうか?

ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-11-10 17:13
コード:
Public Class Form1

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        If TextBox1.Text.Length > 0 AndAlso (TextBox1.Text.Length Mod 10) = 0 Then
            TextBox1.Height = TextBox1.Height * 2
        End If
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TextBox1.Multiline = True
    End Sub
End Class



普通に出来ましたよ。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-11-10 18:24
単純に文字数で測るのであればぴあちゃんさんの方法で OK だと思いますが、現実的にはどうなのでしょうか? 個人的にはあまりに見かけない気持ちの悪いインターフェイスだと思います。 最初からスクロール バー付きの TextBox の方がユーザビリティが高いと思われます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-11-10 18:27
ぴあちゃんさん、回答ありがとうございます。

でも、なんとか
TextBox1.Height = TextBox1.Height * 2
とコードを書かないで高くならないかと思うのですが・・・


ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-11-10 23:38
コードを書かないで高さを可変させたい、ってゆーと何かサンプルというか
お手本があるんじゃないですか?
それをまず示してください。コードを書かないってのは単に手抜きしたいだけ?

どーゆー入力機会があって期待する動作に対してどのような要求があるのか
仮に1000文字コピペされたら、画面から溢れちゃいますけど、高さと幅
の上限値があるんですよね?

あなたの要望を完全に満たすものではありませんが、コーディング0でやるなら
比較的要望に近いものとしては、WebBrowser コンポーネントの div タグがそれ
に近いかと思います。コンテンツに応じて縦横自動伸張します。WebBrowserの横
幅だけ固定させれば、際限無しに縦に伸びます。但し半角文字のみだとうまく
改行されないのが難点ですけどね。



なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-11-11 09:56
みなさん、ありがとうございます。

私は、なんとか
ActiveReportsでいうCanGrowプロパティと
同じようなことを、テキストボックスでも
できないかと思いまして・・

確かに1000文字コピペされたら
溢れちゃいます。

うー今回は
スクロールバー付きにしようかと思います。
1

スキルアップ/キャリアアップ(JOB@IT)