1 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 18:07:34 ] 前スレ VB.NET質問スレ(Part25) pc11.2ch.net/test/read.cgi/tech/1203650042/ テンプレは2〜5くらいまでの間にある予定
136 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 04:10:18 ] >>134 aspやったことないけど、そのレベルならVB中学校から始めた方が良い。 VB関連で2000円ぐらいで買える本よりはずうーっと親切だから。 一通り基礎が終わったらリファレンス本一冊あれば十分。 >>135 下三行の意味がわからない。
137 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 04:16:36 ] select文でいいんじゃね?
138 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 04:38:56 ] レスありがとうございます。 >>136 わかりにくくてすみません。 使い方のような説明をさせていただきます。 例えば、Label1に画像のファイル名が書いてあって、 そのファイルを1〜10まであるピクチャーボックスのどれに表示するかを テキストボックス1に数字を入力して1ならPictureBox1に2ならPictureBox2に という感じで表示させたいです。
139 名前:138 mailto:sage [2008/06/14(土) 04:39:22 ] 実際はそういう用途ではなくて、PictureBoxどうしのD&Dで画像を入れ替えたいのですが、 表示した手段があっていないのか、表示がされているのに MouseDownイベント内の PictureBox1.DoDragDrop(PictureBox1.Image, DragDropEffects.All) を実行すると Object reference not set to an instance of an object.というエラーが出てしまうため、 PictureBox1.DoDragDrop("1", DragDropEffects.All) というようにして、どこの画像をドラッグしてきたのかということを1という数字で 渡すようにしました。 PictureBox1.DoDragDrop(PictureBox1, DragDropEffects.All) という方法が出来れば良いのですが、そうすると PictureBox2_DragEnterイベント内の If e.Data.GetDataPresent(DataFormats.*****) Then e.Effect = DragDropEffects.Copy の******の部分の書き方が分からないため使えないでいます。 >>137 Selectですとピクチャーボックスが沢山ある場合にCaseの記述がその数だけ 必要になってしまうので、簡単にしたいです。 (プロシージャをコピペで増やす際に中身を書き換えなくて済むようにしたいです。
140 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 05:01:14 ] >>135 FAQだ。過去スレ見れば出てくると思うが、VB6にあったその機能はなくなった。 PictureBoxの配列を自分で作って必要なものを放り込め。
141 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 05:06:43 ] System.Reflection
142 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 05:59:36 ] Form.Controls("pictureBox1") という方法もあるが>>140 のをすすめる。
143 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 06:16:47 ] レスありがとうございます。 今回は配列の方法でやることにします。 ありがとうございました。
144 名前:134 [2008/06/14(土) 22:04:45 ] >>136 ありがとうございます! 今見てますが、なかなか良さそうです 今の僕にピッタリかも
145 名前:デフォルトの名無しさん [2008/06/15(日) 02:03:26 ] またお助けください。 Private Sub PictureBox2_DragDrop(ByVal sender As Object, _ ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragDrop のイベントの中で PictureBox2の2という数字を文字列として取得したいのですが、どうすれば良いですか?
146 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:36:36 ] "2"
147 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 09:17:49 ] >>145 「2という数字」の意味が分からんがエスパーすると sender.name.substring(10) って意味か?
148 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:51:24 ] それなら sender.ToString.substring(10) じゃないか?
149 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 15:49:20 ] レスありがとうございます。 sender.ToString.substring(10) でできました。! 分かりにくい説明を察して頂きありがとうございました。
150 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:12:43 ] 作業管理表のプログラムを作成しています。 その中で、作業内容の登録時に 作業開始予定日が作業終了予定日より後の日付になっていたら 作業登録ボタンを押下後にエラーメッセージを表示させたいです。 調べてみたんですが、それらしい単語も分からないのでまったくヒットせず・・・。 このようなチェックに名前ってあるんでしょうか? 良ければサンプルコードを教えてもらえるとありがたいです。
151 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:53:52 ] >>150 悪いけどググったら出る内容はなるべくググって欲しい ttp://www.google.com/search?hl=ja&lr=&ie=UTF-8&oe=UTF-8&num=50&q=VB.NET+%E6%97%A5%E4%BB%98+%E6%AF%94%E8%BC%83
152 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:22:50 ] >>151 150じゃないけど、ありがとう。
153 名前:VB始めて1カ月 [2008/06/16(月) 16:43:23 ] 文字列の最後にくっついているアスキーコードで 00 の文字を trimEnd で取り除きたい。 C言語の \0 はVBではどう表現するのか教えてちょうだい。
154 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 17:10:35 ] Chr関数
155 名前:VB始めて1カ月 [2008/06/16(月) 17:23:04 ] >>154 ありがとう うまくいった
156 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:46:20 ] windowsのプロダクトキーってどうやって取得しますか
157 名前:デフォルトの名無しさん [2008/06/17(火) 02:54:50 ] 画像ファイルを右クリックした時にメニューに表示される 「編集」を選んだときに起動されるアプリのパス名を取得したいのですが、 教えて欲しいです。 自分の場合はmspaintが設定されているので、レジストリエディタで %SystemRoot%\system32\mspaint.exe を検索してみたところ、いくつかヒットはするのですが、どれのレジストリに メニューの「編集」に設定されているものなのか分かりませんでした。 画像ファイルのダブルクリックは「Windows 画像とFAXビューア」というのが 設定されているので、Process.Startを使うとビューアが起動されてしまい mspaintが出てくれません。お助け下さい。
158 名前:157 mailto:sage [2008/06/17(火) 03:44:53 ] ここの場所から取得してみたのですが、大丈夫でしょうか? HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\image\shell\edit\command
159 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:03:20 ] VB.NET初心者なのです。 FormAから呼び出しているFormBを閉じた際に FormAを閉じて(FormBで変更した内容のデータをFormAに反映してから) FormAを再ロードしたいのですが Private Sub FormB_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed Dim a As New FormA a.Close() a.show() とすると破棄されたオブジェクトにアクセスできません。 というエラーが出ます。 どうしたら回避できるでしょうか? よろしくお願いします。
160 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:04:26 ] 閉じるんじゃなくて非表示にする
161 名前:159 mailto:sage [2008/06/17(火) 12:36:29 ] >>160 度々すみません。 a.hide()もしくはa.visible = False後に a.showとすると FormAが2重に開かれてしまうのですが…
162 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:41:30 ] そんなむちゃなでたらめなコードがまともに動くかいな
163 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:44:59 ] Newって言葉和訳できる?
164 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:15:12 ] 出来ないからいるんだろ?
165 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:03:06 ] Private Sub FormB_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed FormA.Hide() 'FormBで変更した内容をFormAに反映させる記述をこのへんに FormA.Show() End Sub
166 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:35:57 ] すみませんが、ご教授お願いいたします。 フォームAからフォームBを呼び出しますが、 既にフォームBが開かれていた場合、二重に呼び出さないようにするための条件式を教えていただけますか?
167 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:40:45 ] 単一のFormBインスタンス使いまわせば十分じゃね?
168 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:43:58 ] >>166 普通にShowやShowDialogを使っていれば二重に呼び出す事は無いと思うんだけどな。 もし二重になってしまう場合でも、呼び出す際に変数を使って条件分岐させればいいと思うし。 どういう場合の事を言っているの?
169 名前:166 mailto:sage [2008/06/17(火) 16:51:04 ] すみません、言葉が足りませんでした。 ちょっと長くなりますが、以下詳細です。 ---------------- フォームA(メインフォーム) フォームB(サブフォーム) フォームC(サブフォーム) があります。 (1)フォームAからフォームBをモーダルフォームとして開きます。 (2)フォームB・Cにはラジオボタンが配置されており、ラジオボタンのチェックの移動で フォームB・Cを行き来できるようにします。 (その際、もう1つのフォームは閉じる) (3)フォームB・Cともに「終了」ボタンが配置されており、ボタンを選択することで、 自フォームを閉じ、フォームAに遷移します。 ---------------- 長くなるので1回区切ります。
170 名前:166 mailto:sage [2008/06/17(火) 16:52:50 ] 以下、ソースです。 <フォームA> Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click FormB.ShowDialog(Me) FormB.Dispose() End Sub
171 名前:166 mailto:sage [2008/06/17(火) 16:55:23 ] <フォームB> Private Sub FormB_Show(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Shown Me.RadioButton1.Checked = True Me.RadioButton2.Checked = False FormC.RadioButton1.Checked = False FormC.RadioButton2.Checked = True End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged Me.RadioButton1.Checked = True Me.Hide() FormC.ShowDialog(FormA) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click FormA.Show() FormC.Close() Me.Close() End Sub
172 名前:166 mailto:sage [2008/06/17(火) 16:57:03 ] <フォームC> Private Sub FormC_Show(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Shown Me.RadioButton1.Checked = False Me.RadioButton2.Checked = True End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click FormB.Close() Me.Close() FormA.Show() End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged Me.Hide() FormB.Show(RollingPlan) End Sub
173 名前:166 mailto:sage [2008/06/17(火) 17:02:09 ] 長文、すみませんでした。 このソースの場合、フォームA → フォームB → フォームC と遷移し、フォームCのボタン2をクリックして閉じても、 もう1つフォームCが現れてしまいます。。。 恐らくフォームBのラジオボタン2のチェックを行った際に、 ラジオボタンを元の状態に戻すための一文、 Me.RadioButton1.Checked = True を入れているために、この命令実行後にもう1つフォームが開いているのかなと推測します。 ただこの一文がないと、 フォームB → フォームC → フォームB と戻ってきた場合に、ラジオボタンが最初の状態に戻っていないため、 やむなく入れている次第です。 そのため、フォームBからCを開く際に、既にフォームCが開いていた場合に 二重に開かないように制御出来れば良いと考え、今回の質問に至りました。
174 名前:デフォルトの名無しさん [2008/06/17(火) 17:36:52 ] 作成したダイアログベースのプログラムでファイル選択機能が必要になりました。 最初にOpenFileDialogクラス呼び出しでファイル選択ダイアログを出したのですが ダサい、使いにくいと教授が言ってきたので、エクスプローラーの様なファイル選択を行うためのコントロールを埋め込みたいのですが その様なものがどこかに(できればフリーで)公開されていないでしょうか?
175 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:44:44 ] >>169 あまりのデザインの悪さに直接答える気にならないのだが、 フォームBとCは2フォームである必要はあるのかな? 例えばラジオボタンの代わりにタブコントロールで2画面分兼ねれば、 単純なモーダルフォームのプログラムになるのだがどうだろう。
176 名前:デフォルトの名無しさん [2008/06/18(水) 00:46:31 ] オブジェクト指向勉強中の者です。質問です。 データ保持用クラスAがあります。 フォームでクラスAのインスタンスを作成し、データをセット、表示します。 そして、フォームからデータ修正用ダイアログを開き、クラスA用のデータを修正させるのですが、 この時、データ入力用ダイアログに値を設定、取得する方法として適当なのはどれなんでしょうか? ※クラスAのメンバはたくさんあり、今後も増え続けます。 @データ入力用ダイアログにクラスAを受け取るプロパティを追加する。 例:Public Property pA() As A Aデータ入力用ダイアログにクラスAの修正が必要なメンバ分、プロパティを追加する。 例:Public Property AName() As String Public Property ANo() As Integer...〜 独立性を保つならばAだと思うのですが、クラスAのメンバが増えるたびに プロパティを追加していかなければならないので、何かスマートじゃないような気がします。 かと言って@だと、ダイアログがクラスAと友達みたいになってしまいますし、 ダイアログに直接関係の無いデータまで受け渡しする事になります。 やはりAのように多少面倒でも必要なデータ分、プロパティを追加していくべきなのでしょうか? よろしくお願いします。
177 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 02:08:13 ] コードエディタの質問なのですが、Form1のコードを既定の「From1.vb*」 というタブ内に書いているのですが、分かりやすく分けたいのですが、 タブをまっさらの状態で作って同じようにもう一つに書く方法があったら教えて頂きたいです。
178 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:29:51 ] ListView1についてなのですが、 ListView1で If ListBox1.SelectedIndex = -1 Then Exit Sub と同じようなことをさせるにはどのように書いたら良いでしょうか?
179 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:50:36 ] >>177 モジュールの追加
180 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:12:46 ] なんかここんとこ急に質問のレベル下がった気が…
181 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:52:32 ] >>180 同感 おそらくVB6のサポート終了と同時に、 OOT理解してないマが.NETやり始めたことが原因かな、と
182 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:53:46 ] まあ、いいじゃない。 俺のレベルもたかが知れてるし。 なんか同じ人の質問に見えて仕方ないけど。
183 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:38:59 ] >>181 OOTって何ですか?
184 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:41:53 ] javaスレなんかの方がレベル低いよ
185 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:02:31 ] VBなんてネットでも書籍でも腐るほど参考書があるんだから こんなところで聞く前に基礎勉強しろって思うのは俺がオサーンだからかの
186 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:42:29 ] webbrowserで携帯禁止サイトを表示したいのだが、無理? UA制限でなくIP制限の方
187 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:47:19 ] ローカルデニーでもグローバルデニーでも道路封鎖してるのと一緒なんだから 車を変えたからといって通れるようにはならないだろ? もしかしてリファラと勘違いしてないか?
188 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:53:13 ] 頭悪いにもほどがある
189 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:13:06 ] 勘違いはしていない。無理を承知で聞いてみている。
190 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:33:13 ] 釣りは他所でやれ
191 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 23:52:58 ] 無理なものは無理
192 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:14:31 ] 携帯禁止サイトって何?
193 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:35:34 ] TreeViewでサーバー側のディレクトリ構造とファイルの一覧を作ろうと思うのですが 難しいでしょうか?(TreeViewについて) 他にもっと良い方法があれば教えていただきたいです。
194 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 09:32:15 ] TreeViewの使い方としては普通だと思うけど
195 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 11:17:16 ] フォームサイズの最大って、横1412ピクセルより大きくできない?
196 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 11:24:21 ] 基本的にデスクトップのサイズ+ちょっと以上にはできない ドラッグで大きくする分にはごまかしもきくけど
197 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 11:34:40 ] >>196 ということは、ワイド液晶モニタ用のシステムを作りたい場合、 ちゃちぃノートPCで作るとフォームが大きくできなくて死亡、 ということでおk?
198 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 12:15:09 ] 子ウィンドウのサイズはこの制限を受けないから、 Panelを一枚挿めばデザインできない事も無い
199 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 14:12:38 ] フォームの中に Excel のような表を2つ埋め込みたいのですが、 Panel をフォームに配置し、その中に Label or Textbox でガシガシ配置していくより もっとスマートな方法はありますか? 表自体かなり大きく (横30項目 × 縦X行) 、多数のラベルを配置していくことに 戸惑いもあります。
200 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 14:21:32 ] >>199 グリッドは?
201 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 14:34:54 ] >>200 即レスありがとうございます。 ググってみて、これが良さそうだと感じました。 ありがとうございました。
202 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:56:37 ] >>194 そうですか。 TreeViwは初めて使うのでちょっと難しいです。 がんばってみます。
203 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 00:22:36 ] TreeViewのイメージリストのアイコンについてなのですが、 TreeViewにディレクトリ構造とファイルを登録してあるので フォルダならフォルダのアイコン、ファイルならファイルのアイコンを 表示するようにしているのですが、アイテムをクリックして 選択状態になった時に種類に関係なく、SelectedImageIndexのアイコンに 変わってしまうのですが、これを変わらないようにする方法を教えて頂きたいです。 SelectedImage=Noneのような設定は出来ないでしょうか?
204 名前:デフォルトの名無しさん [2008/06/20(金) 00:55:34 ] .netの勉強をしたく、Visual Studio 2008 Express Editionsを使って インストールしようとしているのですが、インストールウィザードの後半で インストールされるプログラムの中にSQL Serverなどが入っているんですが インストールしないことってできるんでしょうか? HDDの容量も少ないのでできるだけ節約したいのですが。
205 名前:204 mailto:sage [2008/06/20(金) 00:59:34 ] カスタムインストールありましたね・・・ スレ汚し大変申し訳ない。
206 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 01:02:20 ] 勉強なら入れてていいと思うけどな
207 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 01:50:49 ] 入れたほうがいい。
208 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 02:07:59 ] 入れて
209 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 02:10:31 ] ええのんか?
210 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 06:56:08 ] アッー!
211 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:35:45 ] DataGridView の列見出しのセルの色って変えられますか? Windows Default のカラーでしか表示されていません。 ColumnHeadersDefaultCellStyle プロバティで変更するような気がしているのですが、 変更しても反映されていません。 このプロバティは見当違いなのでしょうか?
212 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:51:22 ] FTPサーバーにdirコマンドを送信して受け取った ディレクトリやファイルの情報を処理するのはどんな方法がいいですか? 文字列として一つずつ解析していくしかないでしょうか?
213 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:08:30 ] うん サーバ次第で何が送られてくるか分からないし
214 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:09:59 ] >>211 それで変更されるけど?
215 名前:211 mailto:sage [2008/06/20(金) 17:30:54 ] >>214 すみません、質問を変えます。 >>211 に関しては dataGridView1.EnableHeadersVisualStyles = false を追加したら変更になりました。 追加質問なのですが、 特定の列ヘッダの色を変えることは可能でしょうか? 全ての列ヘッダに関しては dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Violet で変更できましたが、特定の列ヘッダのみの変え方がわかりません。
216 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:37:20 ] ColumnsからDataGridViewColumn取得してHeaderCellのStyle
217 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:06:15 ] >>213 そうですか。わかりました ありがとうございます。
218 名前:211 mailto:sage [2008/06/20(金) 18:55:32 ] >>216 サンクスでした。できました。
219 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 21:45:07 ] >>212 ほんの1例 01-01-00 12:00AM <DIR> hoge 10-28-07 12:05PM 2228 hoge.aaa <drwxrwxrwx 1 noone nogroup 0 Jul 9 11:20 hoge> <-rwxrwxrwx 1 noone nogroup 434176 Oct 17 2004 hoge.ccc> -rw-r--r-- 1 83245 ahp 38690 Feb 28 22:33 hoge.ddd -rw-r--r-- 1 83245 ahp 48111 May 2 2004 hoge.eee スペースは全角に変換してあるけどな
220 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 22:22:39 ] つくづくFTPってのはプロトコルとして問題があるな
221 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 09:53:17 ] 2点ほど質問させていただきます。 プログラミングを始めて2ヶ月の初心者です。 1つ目はWebアプリでテーブルの行を動的追加したいのですが、 下に書いた通りだと1行目はOK、2行目以降はその行に上書きされてしまい、 行が追加されません。2つ目は追加した削除ボタンを押すことに よって該当行を消したいのですが、イベントハンドルできません。 どこが問題なのか教えてください。 Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim tabRow As New TableRow Dim cell1 As New TableCell Dim cell2 As New TableCell Dim cell3 As New TableCell Dim cell4 As New TableCell cell1.Text = Me.goods.Text cell2.Text = Me.price.Text cell3.Text = Me.quant.Text Dim button As New System.Web.UI.WebControls.Button button.Text = " 削除 " cell4.Controls.Add(button) tabRow.Cells.Add(cell1) tabRow.Cells.Add(cell2) tabRow.Cells.Add(cell3) tabRow.Cells.Add(cell4) Me.Table1.Rows.Add(tabRow) End Sub
222 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 16:16:18 ] BackgroundWorkerのDoWork内で、 実行フォームのコントロールにアクセスした場合、エラーが発生(Invokeで対処)しますが、 フォーム内の先頭に宣言したクラスへアクセスしてもエラーが発生しません。 マルチスレッドでこういう使い方は問題ありそうですが、どうですか Public Class Form private A as new Aclass 〜略〜 Private Sub BackgroundWorker_DoWork(ByVal sender As Object, ByVal e As DoWorkEventArgs) _ Handles BackgroundWorker.DoWork 'Form.text = "test" これはエラー call A.test() 'ここではエラーでない こういうことです
223 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 16:27:06 ] Control 派生クラスのプロパティ・メソッドを操作しちゃ駄目ってだけだ もちろんそれとは別に排他制御とかデッドロックの注意とかが必要になる可能性はあるが
224 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 16:39:38 ] static変数を使っていなければ クラスAはスレッドセーフという認識でいいのですか?
225 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 16:46:22 ] StaticじゃなくてSharedな Sharedクラスなら基本的にそれでいいが メソッド中で使ってるほかのクラスのSharedメソッドがSharedな変数を操作してるかもよ フィールドを使ったら大体の場合スレッドセーフじゃなくなる
226 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 16:52:29 ] フィールドは例として上げただけで、クラスAはフィールドは操作しません。 もし、クラスA内でつかってる他のクラスがSharedを操作してる場合は、 dowork内でクラスAのインスタンスをつくる必要があるという認識でいいですか?
227 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 16:57:44 ] どういう時はどうだとか聞くより、 実際の今のケースではどうなのか考えた方がいいよ。
228 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:09:12 ] どこでなにをする必要があるかどうかなんか仕様知らん限り言えるわけが無い
229 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:10:12 ] ざっと調べたところsharedはなかったです。 My.Computer.FileSystem.〜〜とかは大丈夫ですよね
230 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:43:05 ] 自作クラスでusingを使う為にはどうしたらいいですか System.IDisposableを実装する方法を教えて下さい
231 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:45:35 ] 方法も何も,やりたいことがあるから実装するんだよあれは
232 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:47:03 ] 事故解決しました Implements System.IDisposable
233 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:49:27 ] そのレベルかよw 勘違いしてそうだから言っとくけど,IDisposable実装するだけじゃ何の意味もないよ あくまでDisposeは「使い終わったときに実行してほしい処理を書く場所」だからね
234 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 18:04:51 ] DataGridViewで行を選択不可にする方法を教えて下さい。 よろしくお願いします。
235 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 18:13:43 ] SelectionModeのことか?
236 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 19:32:59 ] SelectionModeでは行モードとかはありますが、選択できなくするモードはありませんでした