- ベストアンサー
VB.NETのスクロールバーコントロール動作について
65_の回答
ヘルプにこんなの書いてました メモ スクロール バーの値を、実行時にユーザーとのやり取りを通じて最大値 にすることはできません。到達できる最大値は、 Maximum プロパティ値 から LargeChange プロパティ値を引いて 1 を加えた値と同じです。 最大値にはプログラムによってしか到達できません。 これじゃないですかね
関連する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の場合も、イベントプロシージャはマルチスレッドで実行されていると考えて宜しいのでしょうか。 よろしくお願いします
- ベストアンサー
- Visual Basic
- アクセス+vb 複数コントロールに同じ処理する場合
アクセス+VBです。 空のフォームにラベルを複数ランダムに配置します。(多ければ500個くらい) そのラベルにクリックイベントを発生させて処理させる場合、ラベルの数だけイベント処理を書かなくてはいけませんよね。 もし、処理内容が同じならひとつの処理記述ですませる方法はないですか。 例えば学校の教室だとすれば、ラベルを机の代わりにしてフォームに配置します。 ラベル(机)をクリックしたら、その生徒のデータが表示される。 良い方法はないでしょうか?
- 締切済み
- Visual Basic
- 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での宣言で大丈夫だと思ったのですが間違えているのでしょうか?
- ベストアンサー
- Visual Basic
- ピクチャーボックスでの折線グラフ作成 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
- ベストアンサー
- Visual Basic
- 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
- ベストアンサー
- Visual Basic
- VB.Net フォームのKeyPressイベント
お世話になります。 日夜 VB.Net でAccess ADPファイルで作ったシステムのリメイクをしております、駆け出しの者でございます。 フォームのイベントでKeyPressイベントがありますが、 Me.ActiveControl.BackColor = Color.LavenderBlush この記述で、フォーム上に配置されているテキストボックなどの背景色を変えられるのですが、マウスで、各コントロールをクリックしても背景色が変わりません。 フォームのClick関係、Mouse関係のイベントで同じ記述をしても、フォームに配置してあるコントロールには適応されないようで、どうしたものかと思っております。(どこか見逃しているのか?!) マウスでテキストボックスなどのコントロールをクリックした時にそのコントロールの背景色を変えるには、例えば100個のテキストボックスがあった場合には、100個のClickイベントに背景色を変えるコードを記述する必要があるのでしょうか?(それは大変だと思うのですが・・・) もし、フォームのマウス、クリックのイベントで ActiveControl の背景色が変更できるイベントや、その他、やり方があるようでしたら、何卒ご紹介いただけますようよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- aspx.vbからHTML標準のテキストに値を入れたい
VWD2008+VBを使っています。 .aspxファイル内で <input id="Text1" type="text" /> と記述したテキストに .aspx.vb側から値を入れたいのですが、無理でしょうか? ASPのコントロールとして用意されているテキストボックスなら 値が入れられる事を確認しています。
- 締切済み
- Microsoft 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) 長くなりましたが、よろしくお願いします。
- 締切済み
- C・C++・C#
- デリゲートとイベントの関係(VB.NET2005)
VB2005の本に書いてある内容が理解できません。 誰か助けてください! ---------- イベントとデリゲートの仕組み .NETイベントが内部ではデリゲートとして処理されることを理解すれば、その威力を存分に引き出すことができます。 もう少し厳密に言うと、イベントを発行するクラスには、そのイベントをサブスクライブするクライアントすべてをポイントする、プライベートデリゲートフィールドが定義されています。 イベントが発行されると、.NETのイベントインフラストラクチャによって該当するデリゲートフィールドのInvokeメソッドが呼び出されます。そして、Invokeメソッドからすべてのクライアントにイベントが通知されます。 このことは、.NET Frameworkで定義されているイベントごとに対応するデリゲートが存在することからもうかがい知ることができます。 [オブジェクトブラウザ]を使用すれば、それを確認できます。 たとえば、第2引数としてEventArgsオブジェクトを受け取るイベントはすべて、内部ではSystem.EventHandlerデリゲートを通じて管理されます。 ほとんどのWindowsフォームコントロールが公開するKeyPressイベントは、KeyPressEventHandlerデリゲートによって処理されますが、このデリゲートは、第1引数としてObject、第2引数としてKeyPressEventArgsオブジェクトを受け取るSubプロシージャをポイントします。 ---------- 全体的にちんぷんかんぷんですが特に「サブスクライブ」などがわかりません よろしくお願いします。
- ベストアンサー
- Visual Basic
お礼
お返事ありがとうございます。 さっそく試してみます