はじめまして。
VB2005 DataGrid1の初期化について質問があります。
下記処理を実行すると、
一度目のFormBを表示ではDataGridに正しく表示されます。
FormBにてボタンEndを押し、再度FormBを表示すると
DataGridの表示が化けてしまいます。
(縦・横のスクロールバーが表示されなくなり、
列・行の幅も小さくなっている)
DataGrid自体は何も設定していなく、
表示内容に対して自動でDataGridを調整してくれる
ものだと思っておりました。
何か初期化(Me.DataGrid1.Refresh)などが問題なので
しょうか?
長文になりましたが、何か少しでも解決策をお願いします。
Private Sub Form_Load
'FormBを表示
FormB.ShowDialog
'再度FormBを表示
FormB.ShowDialog
Exit Sub
Private Sub FormB_Load
Dim Aclone As New ADODB.Recordset
'Aclone設定
If Aclone .State = ADODB.ObjectStateEnum.adStateOpen Then
Aclone .Close()
End If
'DataGrid初期化
Me.DataGrid1.Refresh()
'XXXX(接続・テーブル情報)の内容をAcloneにセット)
Aclone = XXXX.clone
'AcloneをDataGridにセット
Me.DataGrid1.DataSource = Aclone
Exit Sub
Private Sub FormB_Btn_End
Me.Hide
Exit Sub
職場のエクセルのVBAを見ていたら、下記のように書かれていました。VBAを勉強し始めたばかりで何が書かれているのか解りません。
お手数ですが教えてください。よろしくお願いします。
Function F_Crypt(Data As Long, Seed As String) As Long
Dim i As Long, j As Integer, act1 As Long, act2 As Long, iSeed As String
If Len(Seed) > 3 Then j = 3 Else j = Len(Seed)
いつも勉強させていただいています。
質問させていただきます。よろしくお願いします。
あるソフトのデータ保存を数分毎に行う必要がでてきたため、初めてVB2008で作成を試みました。SendKeysを知り、なんとか一連の保存作業(ソフトのツールバーのFile→SaveData→(ファイル名入力)→OK)を、自動化するところまでできたのですが、実行中にマウスポインタを動かしてしまうと正常に動作しなくなってしまうため、イベント中の5~10秒程度マウス操作を無効化したいのですが、やり方が見つかりません。
結構長い時間検索して試してみたのですが、
Cursor.Hide()
や
Private Sub Button1_MouseMove(・・・) Handles Button1.MouseMove
Dim p As Point = New Point(0, 0)
System.Windows.Forms.Cursor.Position = p
End Sub
のような都度ポインタを端に飛ばすような方法では、いくらでもアクティブウィンドウを切り替えられてしまうためうまくいきませんでした。
上のような「マウスが動いたときに都度発生~」といったような監視方法ではメインのイベントが妨げられるようにも感じますので、何かマウス操作を規制・無効にするよい方法がありましたら教えていただければと思います。
もしお詳しい方がいらっしゃいましたら、どうぞよろしくお願いします。
質問させていただきます。
現在VB2008にて4択クイズを作成しています。
以下のサイトを参考に作成しているのですが、不明な点がありますのでご回答お願い致します。
http://www.microsoft.com/japan/msdn/student/challengeV2/chap2_vb/
上記のページでは、Web用?に開発されてるみたいで一部ないコントロールがあります。私はVB2008のwindowsアプリケーションフォームというテンプレートから開始しているのですが、これが問題なのでしょうか。
私の開発環境では「Literal」というコントロールが見当たりません。私が見落としているだけなのかも知れませんが。。
とりあえず、コントロールはURL先とほぼ同様にしています。テーブルの作成(テーブルの挿入の仕方も分かりませんでした)とLiteral、imageコントロールは省いています。
そして、プログラムの内容は最後の項の「さらに一歩進んだテクニック」のものをほとんどそのまま使っています。
以下にそのまま貼り付けます。
Public Class Form1
'正解のボタンを表す変数を定義
Dim Answer As Button
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
' 問題文を設定する
TextBox1.Text = "Web ブラウザと Web サーバーの間で Web ページなどをやり取りする際に用いられる通信プロトコルは?"
' 回答の選択肢を設定する
ButtonA.Text = "HTML"
ButtonB.Text = "HTTP"
ButtonC.Text = "XML"
ButtonD.Text = "URL"
' 正解のボタンを設定する
Answer = ButtonB
End Sub
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonA.Click, ButtonD.Click, ButtonC.Click, ButtonB.Click
' 押されたボタンが正解のボタンかどうか調べる
Dim senderButton As Button = CType(sender, Button)
' 正解のボタンを赤くする
Answer.BackColor = System.Drawing.Color.Red
End Sub
End Class
以上です。
上記のプログラムに追加したい項目を挙げます。
1.問題文を複数用意し、ランダムに出題する。(ランダムに出題するという機能は乱数を使えば実現できるのはなんとなく分かるのですが、実際のプログラムが分かりません。
2.用意した問題全てを解答したら終わり。
以上のような流れにしたいのですが、実際にはどのようにプログラミングすれば良いのでしょうか?部分でも良いのでご指摘お願い致します。
weekday関数について質問です。
Sub test()
MsgBox Weekday(#2/19/2009#)
End Sub
上記プログラムを参考に2009年2月i日の曜日を返すように
下記プログラムを作成したのですが、うまくいきません。
変数iの箇所に原因があると思うのですがどのようにしたら
解決できますでしょうか??
Sub test()
dim i as string
i=15
MsgBox Weekday(#2/i/2009#)
End Sub
解決策、できましたら参考となるプログラムをお教えください。
よろしくお願いいたします。