例えばフォームにこんなメソッドを用意して、 Private Sub OnUIThread(a As Action) BeginInvoke(a) End Sub
イベントハンドラで OnUIThread( Sub() TextBox1.Text = "hoge" End Sub) みたいにやればいいんじゃないの? 0558デフォルトの名無しさん2021/02/12(金) 21:09:14.42ID:7M5mWl4U しかしVBのラムダ式は酷いねw 昔VB好きだったけどこれが嫌でC#に乗り換えた人いっぱいいると思うわ 0559デフォルトの名無しさん2021/02/14(日) 10:17:02.39ID:p2XUJg0+ Picturebox1に円を描いた後、Button1で円を追加したいと思います。 以下のコードだと前の円が消えてしまうのですが、どうすればいいですか? Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height) Dim g As Graphics = Graphics.FromImage(canvas) g.DrawArc(Pens.Black, 20, 20, 20, 20, 0, 360) PictureBox1.Image = canvas End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height) Dim g As Graphics = Graphics.FromImage(canvas) g.DrawArc(Pens.Black, 20, 20, 10, 10, 0, 360) PictureBox1.Image = canvas End Sub 0560デフォルトの名無しさん2021/02/14(日) 10:54:41.13ID:uBaPwBqa>>559 内容理解せずコピペだけでコード書く人? >Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height) >PictureBox1.Image = canvas 新しい「canvas」を自分で用意してPictureBox1.Imageを差し替えているんだから前に描いた部分が無くなるのは当たり前 Graphics.FromImage(PictureBox1.Image)に描かないと 0561デフォルトの名無しさん2021/02/14(日) 11:50:51.24ID:aTi3CIRw VB.netはdobon.netのコピペでどうにかなりますw 0562デフォルトの名無しさん2021/02/15(月) 14:10:16.04ID:5FnD09yO Dim i as Integer i =6
Dim sBox as TextBox sBox.Text = "aaa"
これですと、上のiでは何ともないですが、下のsBoxには 「値が割り当てられる前に〜」と警告が付きます。 警告が付いたら = New TextBoxをつけて、 sBox.Disposeで閉めればいいと考えていますが、 どれにNewをつけるとか付けないとかの区別について教えてください 0563デフォルトの名無しさん2021/02/15(月) 14:48:46.22ID:8oqgKRR4 そもそも上下で明らかに違うじゃん 上は変数への代入で下は変数のプロパティへの代入 上に合わせるなら下は Dim sBox as TextBox sBox = New TextBox でしょ 0564デフォルトの名無しさん2021/02/15(月) 15:38:10.60ID:99lDenvk>>562 それを理解するためには構造体(値型)とクラス(参照型)の違いを理解する必要がある。
DirectXも同様。色々ラッパーも有るけどオワコンも多い .NETでゲーム作りたいならUnitiyでも覚えたほうがいいんじゃないかな 0571デフォルトの名無しさん2021/02/24(水) 11:54:14.87ID:BstpO7i2 unityとかどんどん肥大化するから使いたくない VSだって肥大化してるからVS2008やcode使ってる 0572デフォルトの名無しさん2021/02/26(金) 00:57:11.39ID:yh0R3Tzg VB.netで 3Dグラフってどうするの? 0573デフォルトの名無しさん2021/02/26(金) 19:21:46.77ID:pp9GTcLB Chart 0574デフォルトの名無しさん2021/02/28(日) 18:05:38.62ID:HFC/+izz 音声認識について教えてください。 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load reco.SetInputToDefaultAudioDevice() Dim gram As New Recognition.SrgsGrammar.SrgsDocument Dim Rule As New Recognition.SrgsGrammar.SrgsRule("color") Dim List As New Recognition.SrgsGrammar.SrgsOneOf("red", "green", "blue") Rule.Add(List) gram.Rules.Add(Rule) gram.Root = Rule reco.LoadGrammar(New Recognition.Grammar(gram)) reco.RecognizeAsync() End Sub
Private Sub reco_SpeechRecognized(ByVal sender As Object, ByVal e As System.Speech.Recognition.RecognitionEventArgs) Handles reco.SpeechRecognized Select Case e.Result.Text Case "red" SetColor(Color.Red) Case "green" SetColor(Color.Green) Case "blue" SetColor(Color.Blue) End Select End Sub
これの"red", "green", "blue"を a(1)="red" a(2)="green" a(3)="blue" : というデータから読み取りたいと思います。 どうすればいいですか? 0575デフォルトの名無しさん2021/02/28(日) 19:02:27.16ID:ReKePojt 引数なしでNew SrgsOneOfしたあとそれにAddしてけばいいんじゃないの 0576デフォルトの名無しさん2021/02/28(日) 19:40:09.89ID:HFC/+izz どのようにAddすればいいですか? Dim a(100) As Recognition.SrgsGrammar.SrgsItem a(1) = SrgsGrammar.SrgsItem("red") List.Add(a(1)) 0577デフォルトの名無しさん2021/02/28(日) 20:09:34.72ID:ReKePojt こんなんだろ多分 Dim oneOf = New SrgsOneOf() For Each word In words oneOf.Add(New SrgsItem(word)) Next List.Add(oneOf) 0578デフォルトの名無しさん2021/02/28(日) 22:36:09.00ID:HFC/+izz 返信ありがとうございます。 List.Add(oneOf) のoneOfで 「型SrgsOneOfの値をSrgsItemに変換できません。」 というエラーが出ます。 教えてください。 0579デフォルトの名無しさん2021/03/03(水) 20:12:19.91ID:FWifKpzu List.Add(New SrgsItem(oneOf)) で解決しました。ありがとうございました。 0580デフォルトの名無しさん2021/03/03(水) 20:39:29.57ID:FWifKpzu ディクテーションで、なぜか ”he" だけ認識しない。 発音が悪いだけでしょうか。 "heel"とか"she”とか"what"は認識します。 0581デフォルトの名無しさん2021/03/03(水) 20:47:48.28ID:NQNDMH5/ 頭も悪いと思うよ 0582デフォルトの名無しさん2021/03/05(金) 08:31:54.32ID:TerEZabb 質問させてください。 VB.net2010にてAcrobat sdkを使用し、デスクトップに保存しているpdfを ボタンを押すとPanel1に表示するプログラムを作成しました。
Dim pdfOcx As New AxAcroPDFLib.AxAcroPDF Dim sFile as string = "C:\temp\a.pdf" pdfOcx.Dock = DockStyle.Fill Panel1.Controls.Add(pdfOcx) pdfOcx.LoadFile(sFile)