• ベストアンサー

VB.NETのスクロールバーコントロール動作について

65_の回答

  • ベストアンサー
  • 65_
  • ベストアンサー率100% (2/2)
回答No.1

ヘルプにこんなの書いてました メモ スクロール バーの値を、実行時にユーザーとのやり取りを通じて最大値 にすることはできません。到達できる最大値は、 Maximum プロパティ値 から LargeChange プロパティ値を引いて 1 を加えた値と同じです。 最大値にはプログラムによってしか到達できません。 これじゃないですかね

mehiro2
質問者

お礼

お返事ありがとうございます。 さっそく試してみます

関連するQ&A

  • ラベルのマークアップ

    <input name="price_min" type="text" value="" id="price_min" />~ <input name="price_max" type="text" value="" id="price_max" />円 このようなフォーム要素があるとき、 どのようにラベル付けをするのが妥当なのでしょうか? <label> 価格:<br> <input name="price_min" type="text" value="" id="price_min" />~ <input name="price_max" type="text" value="" id="price_max" />円 </label> このように、ひとつの<label>に対して二つのコントロールを含めることはできるのでしょうか? 現在は<span>価格</span> のように<span>タグで代用しています。 ぜひアドバイスをお願いします。

    • ベストアンサー
    • HTML
  • VB.NET開発(イベントプロシージャはマルチスレッドですか?)

    VB.NET開発(イベントプロシージャはマルチスレッドですか?) 以前より.NETのWindowsフォームの業務アプリ開発してますが、基本的な質問をさせて下さい。 イベントプロシージャの実行処理は、本体スレッド(実行時のスレッド)とは別のスレッドで動作しているのでしょうか。 例えば、ボタンのクリックイベントに何かしらの重い処理があったとします。このクリックイベントの処理ではボタンの制御をしていないので、イベントプロシージャの実行中は、処理中のボタンが押下可能な前提とします。この時、このボタンを3回押下して実行させると3つのスレッドが新規に作成されて実行していると考えて宜しいのでしょうか。 デリゲートやイベントに関するキーワードで検索して、いくつか資料を見たのですが、上記の疑問にぴったり合う解答がなく、質問させて頂きました。 業務アプリの開発で、今まで、あまりマルチスレッドなど意識せずやってきましたが、実は意識しなくても、マルチスレッドの開発をしていたことになるのでしょうか。 以前、VB6の開発もしておりました。 ちなみにVB6の場合も、イベントプロシージャはマルチスレッドで実行されていると考えて宜しいのでしょうか。 よろしくお願いします

  • アクセス+vb 複数コントロールに同じ処理する場合

    アクセス+VBです。 空のフォームにラベルを複数ランダムに配置します。(多ければ500個くらい) そのラベルにクリックイベントを発生させて処理させる場合、ラベルの数だけイベント処理を書かなくてはいけませんよね。 もし、処理内容が同じならひとつの処理記述ですませる方法はないですか。 例えば学校の教室だとすれば、ラベルを机の代わりにしてフォームに配置します。 ラベル(机)をクリックしたら、その生徒のデータが表示される。 良い方法はないでしょうか?

  • VB.NETで変数の宣言が上手くできません

    VB.NETで変数の宣言が上手くできません プロパティを使用し、変数の内容を一括保存しようと考えています その為に以下のようなコードを書いたのですが他のフォームから宣言されていないとなってしまいます 修正点を教えて頂けると嬉しいです Setting.vb Pubic class Settings Public dbdirectry As String Public flistpass As String Public Property flist () As String Get Return flistpass End Get Set (Byval Value As String) flistpass = Value End Set End Property もう一つflist () をdbdic ()に flistpassをdbdirectryにしたもの End Class この変数2つに他のフォームMainForm1.vbとDefaultSetting.vbなどからflistpass = Newflistpassなどと記述するとアクセス出来ず宣言していない扱いになります Publicでの宣言で大丈夫だと思ったのですが間違えているのでしょうか?

  • ピクチャーボックスでの折線グラフ作成 VB6.0

    お世話になります。 VB6.0にて、下記データを使って、ピクチャーボックスを使用して、コマンドボタンを1つクリック毎に、 「10個の数値」を使って、CurrentX CurrentY で「点」を描写、「点」同士をつないで、折線グラフ作成 また、連続でクリックする事により、アニメのように見える という事をしたいです。  ここで、下記「データ群」のように、1、2、3、とクリックで移動する毎に、数値の MAX MIN が変化していき、 [ Picture1.Height = 200 ] としてる為、縦方向にムダなく表示する為、「倍率」を求める事になります。 「1」の場合の「倍率」 = 200 ÷ (33 - 1) 「2」の場合の「倍率」 = 200 ÷ (49 - 1)    ですので、ボタンクリックの度に、 「10の数値」の MAX MIN で「倍率」を求める その「倍率」を使って折線グラフ作成  となります。  しかし、これが「10個の数値」ではなく、100~500、また各数値も 130.88 など3桁、小数点アリ になると、 「倍率」計算で時間が懸かり、アニメのように、とは難しいです。  画像であるなら、Picture1.AutoSize があり、縦方向にピッタリとなりますが。  さてここで質問ですが、私は「倍率」を求めてそれを元に折線グラフ作成としていますが、 もっとイイ方法があれば、是非御教授下さい。 お願いします。  なお「MSChart」は使わないという事で。 データ群 「1」~「6」 1 [ 01~10 23 ,01 ,02 ,13 ,19 ,29 ,33 ,15 ,17 ,21 ] MAX; 33 MIN; 01 2 [ 02~11 01 ,02 ,13 ,19 ,29 ,33 ,15 ,17 ,21 ,49 ] MAX; 49 MIN; 01 3 [ 03~12 02 ,13 ,19 ,29 ,33 ,15 ,17 ,21 ,49 ,17 ] MAX; 49 MIN; 02 4 [ 04~13 13 ,19 ,29 ,33 ,15 ,17 ,21 ,49 ,17 ,54 ] MAX; 54 MIN; 13 5 [ 05~14 19 ,29 ,33 ,15 ,17 ,21 ,49 ,17 ,54 ,27 ] MAX; 54 MIN; 15 6 [ 06~15 29 ,33 ,15 ,17 ,21 ,49 ,17 ,54 ,27 ,78 ] MAX; 78 MIN; 15 With Picture1 .Cls: .BackColor =白 .Width = 3000: .Height = 200 .ScaleWidth = .Width: .ScaleHeight = .Height .AutoRedraw = True .DrawWidth = 1 .DrawStyle = 0 .FillStyle = 0 .FillColor = 黒 End With   各数値 ----------------- 01 23 02 01 03 02 04 13 05 19 06 29 07 33 08 15 09 17 10 21 11 49 12 17 13 54 14 27 15 78

  • VBでModule1からForm1のコントロールを操作したい

    VB.NETでForm1のProgressBarをForm1.VBからではなく外部Module1.vbのサブルーチンから操作する方法はありませんか。"Dim Form1 as New Form1"などとするともうひとつフォームが開いたりしてうまくいきません。現在、下記の様にしてもうひとつ別のForm2を開いてプログレスバーを表示しております。 できるなら、Form1だけで済ませたいと思っております。 勉強不足でわかりません。どなたか教えてください。 Form2.Show() Form2.ProgressBar1.Minimum = 0 Form2.ProgressBar1.Maximum = 学習回数 Form2.ProgressBar1.Visible = True For 繰り返し = 1 To 学習回数 Form2.ProgressBar1.Value = 繰り返し Form2.lbl解析中.Text = 繰り返し Form2.Label1.Update() Form2.lbl解析中.Update()      ****処理**** Next

  • VB.Net フォームのKeyPressイベント

    お世話になります。 日夜 VB.Net でAccess ADPファイルで作ったシステムのリメイクをしております、駆け出しの者でございます。 フォームのイベントでKeyPressイベントがありますが、 Me.ActiveControl.BackColor = Color.LavenderBlush この記述で、フォーム上に配置されているテキストボックなどの背景色を変えられるのですが、マウスで、各コントロールをクリックしても背景色が変わりません。 フォームのClick関係、Mouse関係のイベントで同じ記述をしても、フォームに配置してあるコントロールには適応されないようで、どうしたものかと思っております。(どこか見逃しているのか?!) マウスでテキストボックスなどのコントロールをクリックした時にそのコントロールの背景色を変えるには、例えば100個のテキストボックスがあった場合には、100個のClickイベントに背景色を変えるコードを記述する必要があるのでしょうか?(それは大変だと思うのですが・・・) もし、フォームのマウス、クリックのイベントで ActiveControl の背景色が変更できるイベントや、その他、やり方があるようでしたら、何卒ご紹介いただけますようよろしくお願いいたします。

  • aspx.vbからHTML標準のテキストに値を入れたい

    VWD2008+VBを使っています。 .aspxファイル内で <input id="Text1" type="text" /> と記述したテキストに .aspx.vb側から値を入れたいのですが、無理でしょうか? ASPのコントロールとして用意されているテキストボックスなら 値が入れられる事を確認しています。

  • toolStripStatusLabelの書き換えでpanelのスクロール位置が変化

    こんにちは。 Windows Vista Home Premium VC# 2008 Express Edition を使用しています。 dataGridView.SelectionChangedイベントによるtoolStripStatusLabel.Textの書き換え時に予期しない動作をするため困っています。 【詳細】 まずフォームのコントロールをドキュメントアウトライン風に表すと Form ┣ panel ┃ ┗ dataGridView ┗ statusStrip   ┗ tolStripStatusLabel このような状態にします。 そして、panelのAutoScrollプロパティをtrueに、dataGridViewのサイズをpanelよりも大きくします。 最後に、dataGridViewのSelectionChangedイベントにtoolStripStatusLabelのTextプロパティを書き換えるメソッドを追加します。 この状態で、垂直方向のスクロール位置が0より大きい時にdataGridViewのセルを選択すると、そのたびにpanelのスクロール位置が垂直・水平共にdataGridViewの0,0の位置になってしまいます。 これの原因と対処法をご存知の方がいらっしゃいましたら教えてください。 【色々試した結果】 ・panelをsplitContainer内に入れると上記したような動作は起きない。 ・他のpanel内に入れるだけではsplitContainerのように回避できない。 ・toolStripStatusLabel.Textを操作しなければ起きない。 ・文字列が変化しなければ同じ文字が代入されても起きない。 画像のフォームは、 左のpanel1とdataGridView1 : フォームに直接追加 右のpanel2とdataGridView2 : splitContainer内に追加 となっており、それぞれにSelectionChangedイベントが追加されています。起動後に適当にスクロールして適当にセルを選択した結果が画像となっています。 メソッドの内容は左側が int cc1 = 0; private void EVENT1(object s, EventArgs e) { // dataGridViewのセルに左上から // パネルのスクロール位置 + ", " を入力。 dataGridView1.Rows[cc1 / CC].Cells[cc1 % CC].Value = panel1.VerticalScroll.Value.ToString() + ", "; // 書き換え toolStripStatusLabel1.Text = panel1.VerticalScroll.Value.ToString(); // 最初に代入したdataGridViewのセルに // パネルのスクロール位置を追加 dataGridView1.Rows[cc1 / CC].Cells[cc1++ % CC].Value += panel1.VerticalScroll.Value.ToString(); } 右側のdataGridView.SelectionChangedに追加したメソッドは cc1, dataGridView1, panel1 の添字がすべて2になったものです。 CCはdataGridView.Columns.Countです。(図では CC = 4) 長くなりましたが、よろしくお願いします。

  • デリゲートとイベントの関係(VB.NET2005)

    VB2005の本に書いてある内容が理解できません。 誰か助けてください! ---------- イベントとデリゲートの仕組み  .NETイベントが内部ではデリゲートとして処理されることを理解すれば、その威力を存分に引き出すことができます。 もう少し厳密に言うと、イベントを発行するクラスには、そのイベントをサブスクライブするクライアントすべてをポイントする、プライベートデリゲートフィールドが定義されています。 イベントが発行されると、.NETのイベントインフラストラクチャによって該当するデリゲートフィールドのInvokeメソッドが呼び出されます。そして、Invokeメソッドからすべてのクライアントにイベントが通知されます。  このことは、.NET Frameworkで定義されているイベントごとに対応するデリゲートが存在することからもうかがい知ることができます。 [オブジェクトブラウザ]を使用すれば、それを確認できます。 たとえば、第2引数としてEventArgsオブジェクトを受け取るイベントはすべて、内部ではSystem.EventHandlerデリゲートを通じて管理されます。 ほとんどのWindowsフォームコントロールが公開するKeyPressイベントは、KeyPressEventHandlerデリゲートによって処理されますが、このデリゲートは、第1引数としてObject、第2引数としてKeyPressEventArgsオブジェクトを受け取るSubプロシージャをポイントします。 ---------- 全体的にちんぷんかんぷんですが特に「サブスクライブ」などがわかりません よろしくお願いします。