• ベストアンサー

VB .NETに関する書籍について

現在までVB6でプログラミングをしていましたが、VB.NETに乗り換えてから、まったく使えなくなってしまいました。 Form1をクリックしたらForm2を表示するようにしたくて単純に Form2.show とやってみたところ、 「非共有メンバを参照するには、オブジェクト参照が必要です。」と言われますが、はたして何のことやら??と戸惑っています。 VB6では、コントロール操作やファイルの書込み、条件判断、エラー処理などといったプログラムの基本はわかっていますので、そのまま応用できると思うので、こんな私が参照すべき書籍があれば教えていただきたいと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • hitomit
  • ベストアンサー率16% (3/18)
回答No.3

こんにちは 私もVB6→.NETで苦労しているところです。 フォームの表示も同じエラーを出し???を経験しました そんな私が1番活用しているのは、 VisualBasic.NET 逆引き大全 500の極意(秀和システム)です。 いろいろなサンプルが載っているので便利ですよ。 細かいこと(クラスやオブジェクトなど)を最初から理解するのは難しいし苦痛です。 ですからとりあえずサンプルを見ながら作り、関連するヘルプを調べて確認するようにしています。 最近は、だいぶ慣れてきました。xiaolong_gooさんもすぐに使いこなせるようになりますよ。 お互いにがんばりましょうね。

xiaolong_goo
質問者

お礼

良く理解できる良本だと思います。 様々な悩みが解決しました。

その他の回答 (3)

  • momopi
  • ベストアンサー率10% (4/39)
回答No.4

こんにちは。 私のお薦めは 『Visual Basic .NETではじめるWindowsプログラミング』(ナツメ社、2000円) です。 初心者向けに書かれた本ですが、VB6.0のユーザーも読者として想定されていて、VB6.0からのアップグレードについても記述されています。 VB6とVB.NETは、全然違うため、とまどいますが、上記書籍でセットアッププログラムまで作れるようになりました。

回答No.2

(Web)Visual Basic 6.0 ユーザーのための Visual Basic .NET 移行ガイド http://www.microsoft.com/japan/msdn/net/vbtransitionguide/default.asp#chap1 (Web)連載プロフェッショナルVB.NETプログラミング http://www.atmarkit.co.jp/fdotnet/vb6tonet/index/index.html (書籍)VB .NET プログラミングリファレンス http://www.microsoft.com/japan/msdn/net/vbnetref/ ↑は3章だけWeb上で見ることが出来ます

回答No.1

Dim frm2 As Form2 frm2 = New Form2() frm2.ShowDialog() frm2 = Nothing で出来ると思います。

関連するQ&A

  • VB6からの移行したいけど、VB.NETのコントロール配列は?

    VB6ではフォーム上にボタンコントロールとかを配列で作成できクリックされた時にはボタンイベントのインデックス値によってどのボタンを押されたが判断できて各処理を記述できていましたが、VB.NETでは同じようにはできないようです。オブジェクト指向的?にはこちらがいいのでしょうが、どうも面倒くさくなったなぁというイメージしかわかず、なぜこの方がいいのかという納得いく書籍とかも見つけることができていません。 どなたか、ご教授頂きたいのですがよろしくお願いします。参考になる書籍やWEBとかもありましたらお教えいただければ幸いです。

  • vbをもっと知りたい。

    とりあえず一通り100行程度のプログラムを つくれるようになったのですが もっとvbのことを詳しくしりたいので vbのプログラミングの いい書籍を教えてください。

  • vb2010で2つのフォームを同時制御

    vb2010でプロジェクトを作成しています。 Form1がメインで、Form2を観客用に用意しています。 Form1のButton1をクリックすると、Form2のPictureBox1に画像を表示させたく、 下のようなプログラムを書いたのですが、Form2に画像が表示されないばかりか、 「オブジェクト参照がオブジェクトインスタンスに設定されていません。」というエラーまではかれてしまいます。このエラーの意味もわからないほど、素人なのでわかる方どうかよろしくお願いします。 ------------------------------------------------------------------------------ Private Sub Form1_Load Dim g As New Form2 g.Show() ------------------------------------------------------------------------------ Private Sub Button1_Click Form2.PictureBox1.Image = Image.FromFile("C/xxxxxxx.png") Form2.Refresh() ------------------------------------------------------------------------------

  • VB2005でフォルダ参照

    VB2005を利用している初心者です; Form上にフォルダ参照画面のコントロールを貼り付けたいのですが・・ その前にそんなコントロールは存在するのでしょうか;ディレクトリの参照のコントロールもform上に置きたいのですが・・ サイトを探したりヘルプを見たりしているのですが;探し方が悪いのでしょうか・・なかなか見つかりません; あれば教えていただけないでしょうか? なければ、対策などあれば教えていただけないでしょうか?? よろしくお願いいたします。

  • VB2010 フォームのリロード

    今までVB6.0でプログラミングをしていた者で、最近VB2010に開発環境を変えました。さっそくソフトを開発しているのですが、フォームのリロードが必要なところがあったためそこのプログラムをネットなどで参考にして書いてみたのですがどうしてもエラーがでます。 今までVB6.0ではその部分を Private Sub Command1_Click() Set Form1 = Nothing Call Unload(Me) Form1.Show End Sub と、記載していました。これをVB2010のコードに書き換えるとどのようになるのでしょうか。 ご回答よろしくお願いいたします。

  • vb.netコントロールの共有について

    初めまして。ponzouと申します。 vb.netで異なるアプリケーションからコントロールを共有するにはどうしたらよいのでしょうか。 vb6はActiveXExeを作成してグローバルオブジェクトに格納して実装していたのですが、.netを一昨日にインストールしてみると、ActiveXExeは作れないことがわかりました。 御手数をおかけしますが、よろしくお願い致します。

  • VB.NETでフォーム間でのコントロールの参照

    VB.NETでフォーム間でのコントロールの参照が うまくいかず困っています Windows フォーム Form1とForm2があります Form1にはリストビュー(name:ListView1)を配置しています Form1_LoadイベントでListView1にアイテムを追加します Form2を表示し、Form1のListView1のアイテム数を、 取得しようとすると 0 になってしまします どうすればForm2から取得できるのでしょうか? 次のように書いています Form1_Load イベント内 ListView1.Items.Add("Item1") ListView1.Items.Add("Item2") ListView1.Items.Add("Item3") MessageBox.Show(CStr(ListView1.Items.Count), "Form1") Dim Form2 As New Form2() Form2.Show() Form2_Load イベント内 Dim Form1 As New Form1() MessageBox.Show(CStr(Form1.ListView1.Items.Count), "Form2")

  • 構造体に関するエラーについて(VB6.0→VB.NET)

    私はプログラミング初心者なのですが、 モジュールAにて Type test A_test() As String End Type Global AAA As test 他の複数のモジュールにて For i = 1 To 10 AAA.Atest(i) = "123"   ←(A) Next i VB6.0では上記のようなプログラムが問題無く動作するのですが、VB.net(2003)にてアップグレードし、実行すると他のモジュールの(A)のところにて"オブジェクト参照がオブジェクト インスタンスに設定されていません。"といったエラーが発生してしまいます。"AAA.A_test(i)"の値"Nothing"になっており、それが問題だと思うのですが対処法が分かりません。ご存知の方がおられましたら御教授宜しく御願いします。

  • VBでブラウザを操作するには?

    ■利用環境 WinXP SP3 VB2008 ExpressEdition IE7 ■質問 VB始めたばかりで初心者です。 VBSで行っていたIEオブジェクトの自動操作をVBのフォーム デザインを使ってビジュアル的に作り変えたいのですが MSDNもろくに読めなくて前に進めません。 VBは、イベント駆動と言うのは、理解しているつもりですが、 CreateObject("InternetExplorer.Application") とブラウザコントロールの違いに戸惑っています。 IEオブジェクトとWebBrowserオブジェクトの使い方の違いの事です。 VBSのIEオブジェクトで行っていた操作は、 IE = CREATEOLEOBJ("InternetExplorer.Application") IE.visible = True IE.navigate(URL) IE.document.body.InnerHTML と言う操作をしたいのですが、 できれば、このように私が慣れているIEオブジェクトの操作で ページ表示だけ、VBのブラウザオブジェクトに反映させる事が できれば良いのですが、難しければ、 VBのコントロールのブラウザオブジェクトで これと同じ操作をするにはどうすればよいか 教えて頂けませんでしょうか?

  • VB.NETからC言語への乗りかえについて。

    プログラミング未経験者のものです。 これから、新たにプログラム言語を習得したいと考えています。 そこで、数ある言語の中から、選択に迷ったのですが、奥も深くて比較的入り口も入りやすいというVB.NETからはじめようかとも考えました。 しかし、将来的には、高い仕様を具えるC/C++言語を習得してみたいとも考えています。 この場合、VBからCに移行するというのは、かなりたいへんなことなのでしょうか。よく聞く話なのですが、どれかひとつの言語を習得すれば、プログラムの考え方はどれも似ているので、他の言語を学ぶときにもそれほどの障壁はないという話も聞きますが、ほんとうでしょうか。実際には、かなり、文法上の相違があって、覚えるのはそうとうたいへんなのではないでしょうか。 まあ、英語を習得したあと、スペイン語を習得するほど困難ではないかもしれませんが。 また、多少本を読んで独学しているものの、演算子、条件判断、繰り返し、配列、ファイルの入出力など、基本的な作り方なども知ったのですが、プログラミングの難しさってどういうところにありますか。 たいていの人は難しくて脱落してしまうのでしょうか。 年齢的にも30代で、仕事をしながらですので、時間的なゆとりもあまりありません。 ずっとVBだけでいいのならともかく、後々、CやC++もマスターしてみたいと思っていますので、それなら、最初からCをやったほうがいいのでしょうか。 でも、VBはVBでフォームも簡単に描けますし、コントロールを貼り付けるという操作はたいへんわかりやすく、初心者がプログラミングの楽しさを味わうのにはうってつけの言語だとも思います。 ただ、VBにあまりどっぷりつかっても、Cを一から勉強する際、Cの文法に違和感を感じしてしまい、挫折してしまうかもしれません。 それならいっそのこと、初めからCをやったほうがいいのかなとも思うわけです。 また、このふたつの言語の特徴をいいますと、どのようなことがいえるでしょうか。機能的なこととか、将来性とか、いろんな角度からでも結構です。 VB.NETはOSや、ネットワークに強いとも聞いています。 でも、Cは、ポインタなどもありますし、CPU・ハードを直接操作できる強みもあるようですね。ハードに関与する場面というのがどれほどあるのかはよくわかりませんが。 どなたか、もしアドバイスを頂けましたらありがたく感謝致します。

専門家に質問してみよう