掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
テキストを上からでなく下から入力するようにするには? (ID:125216)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> まだ僕がいっている意味が残念ながらが十分伝わってないようです。 なかなか伝わらないのは、動作仕様が最初から充分に書かれておらず、 情報が小出しにされているからだと思いますよ……。 ユーザーからの入力がない(リードオンリー)というのも、随分後になってからの 情報提示でしたたし、データ量が多かった場合にスクロールバーを使うという 話についても、今回初めて明かされた情報ですよね。 > なんどもいうように最下段のデータをlistbox1の最後の行からスタート > させて上にデータが乗っかっていくようにしたいのです。 少なくとも、データが『コントロールの高さ分の件数に達した後』の 追加動作に関しては、提示されたコードで充分だと思うのですが、如何でしょう? それとも、件数が多くなってきた後の動作についても、まだ違いがありますでしょうか。 > 最下段のデータがlistbox1の一番上の行からスタートしてその上にデータが乗っかっていく感じなっています。 見て欲しいのはそこではなく、むしろ、SelectionStart等の使用方法だったりします。 あのサンプルでは、SelectionStartプロパティ や Insert メソッドに、 『0』という位置情報を渡すことで、TextBox や ListBox の「先頭行」に データを追加していますが、その点には気付かれましたでしょうか。 で、「0」だと常に先頭になってしまいますが、この値を調整すれば、 先頭以外の部分(たとえば、「前回追加した行の一つ前の行位置」とか)に 登録する事も可能になる……というわけです。 なので後は、その「挿入すべき位置」を割り出す方法を調べていただければ OK だと思いますよ。挿入するデータ件数などをカウントしていれば、 何行目に追加すれば良いのかも、おのずと算出できますよね。 ヒントを書くと——件数が少ない時には、コントロールに最初から 「空行」を含めておき、随時、その空行項目の置き換えをすると良いでしょう。 たとえば ListBox の場合には、 ListBox1.Items(行位置) = "新しいデータ" のようにすると、特定行のデータを入れ替えることができますので、 これを使うことができるでしょうね。 一方、TextBox の場合は、先のサンプルにも少し書きましたように、 Selection系プロパティを組みあわせる事で、特定位置の文字列を 差替える事ができます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.