ベストアンサー ※ ChatGPTを利用し、要約された質問です(原文:Visual Basic 2005にてプログラミングの学習を行っている) Visual Basic 2005にてプログラミングの学習を行っている 2010/08/03 09:30 このQ&Aのポイント Visual Basic 2005でプログラミングの学習を行っていますが、解決できない疑問が出てきました。Form1からForm2にメッセージを送信するためにPostMessageを使用しましたが、戻り値が0になってしまいます。メッセージのやり取りをする方法について知っている方がいらっしゃいましたら、教えていただけますか? Visual Basic 2005にてプログラミングの学習を行っている Visual Basic 2005にてプログラミングの学習を行っているのですが、どうしても解決しない疑問が出てきてしまいましたのでご質問させて頂きました。 Form1(スタートアップフォーム)とForm2を同じプロジェクト内に用意しています。 そこで、Form1からForm2にむかってメッセージを送信したいと思い、 PostMessageを使用する事にしました。 引数として、 (Form2のウィンドウハンドル, メッセージID, 0, 0) を設定しましたが、戻り値が0(失敗)になってしまいます。 以上のような方法でメッセージのやり取りをする事はできないのでしょうか? ご存知の方がいらっしゃいましたらよろしくお願いいたします。 以上です。 質問の原文を閉じる 質問の原文を表示する みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー nda23 ベストアンサー率54% (777/1416) 2010/08/03 10:35 回答No.1 APIの定義を間違えているのでは? Declear Function PostMessage _ Lib "USER32" Alias "PostMessageA" _ (ByVal H As Integer, ByVal M As Integer, _ ByVal W As Integer, ByVal L As Integer) As Integer VB2008ではこれで動きますけど。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発Visual Basic 関連するQ&A VisualBasic 2005 にてプログラミングをしているのですが VisualBasic 2005 にてプログラミングをしているのですが、 Form1とForm2を用意して、スタートアップフォームはForm1に指定しています。 Form1が起動した時に、Form2も非表示状態で起動させる事は可能なのでしょうか? その後、Form1から、Form2の表示、非表示の切り替えを行いたいと考えています。 良い方法をご存知の方がいらっしゃればと思い質問させて頂きました。 よろしくお願いいたします。 以上です。 CLRのメッセージの送信について。 WIN32APIを使って今までプログラムを作っていましたが、CLRを使ってプログラミングをしようと思い始めたのですが要領がつかめません。 やりたいことは他のアプリケーションにメッセージを送信することです。APIのPostMessage(HWND_BROADCAST, Message, 1, 0); のような感じでForm1の設定の内容を送りたいのですがどうすればそのようなことができるのでしょうか? Visual C++ で新しいプロジェクトCLR Windows フォームアプリケーション を選択してプロジェクトを作りました。 そのあとどうすればよいか教えてください。 そもそもForm1のウィンドウプロシージャはどうなってるのかすらわかりません。仕組みがちんぷんかんぷんでした。 VisualBasic 2005 にてプログラミングの学習をしていて、 VisualBasic 2005 にてプログラミングの学習をしていて、疑問に思った点がありましたので質問させて頂きました。 Form1とForm2を作成しています。 その時にForm2を非表示で起動したいと考えた(Form2_Loadイベントを実行したい)のですが、 Form2を非表示で起動させる事が出来ません。 <Form1側 Button1_Click> 'モーダル表示 Dim frm2 As New Form2 frm2.ShowDialog() <Form2_Load> '非表示 Me.Visible = False 上記コードだと、Form2が表示されてしまいます。 これを非表示でLoadイベントを実行させる方法をご存知の方がいらっしゃれば教えて頂きたい と思います。 初歩的な質問で申し訳ないのですが、よろしくお願いいたします。 ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム C言語にてプログラミングを行っていて、FindFirstFileにてフ C言語にてプログラミングを行っていて、FindFirstFileにてファイル名を取得しようとしていますがうまくいきません。 第一引数に「D:\test\aaa*」と指定して、aaa01、aaa02、aaa03のようなファイル名が取得したいと考えています。 FindFirstFileの戻り値として、INVALID_HANDLE_VALUEがくるため目的の動作になりません。 上記のような事はできないのでしょうか? いろいろ調べてみましたが解決できなくて質問させていただきました。 以上ですが、よろしくお願いいたします。 Visual C♯ フォーム間での値の受け渡し Visual C♯ フォーム間での値の受け渡しについて プログラミング初心者です。 今、勉強中なのですが、試行錯誤しても出来なかったので助けていただければと思います。 現在Visual C# 2008を使っております。 フォーム間の値の受け渡しについて、助言をお願いします。 [Form1] ・TextBox1 ・Button1 [Form2] ・TextBox2 ・Button2 1.Form1のButton1をクリックし、Form2を出す。 2.Form2のtextBox2に文字を入力し、Button2をクリックする。 3.Form1のTextBox1に、Form2のtextBox2に入力した文字を表示する。 という、作業をしたいのです。 できればソース付きで教えていただけると助かります。 よろしくお願いします。 Visual C++ 6.0 今学校でVisual C++ 6.0 を使ってプログラミングの勉強をしていて家でも学習をしたいので購入を考えいるのですかVisual C++ 6.0 は家電量販店で購入する場合どのくらいの値段で買えるのでしょうか? 学生だと安く購入できるようなものはあるのでしょうか? それと友人がVisual C++ 6.0 をマイクロソフトのホームページで無償でダウンロードできたいっていたのですが本当ですか? 以上よろしくお願いします。 Visual C++でC言語の基礎学習 Visual C++を使ったC言語についての質問です。 (アプリケーションの作成ではなく、コマンドプロンプト上で起動する基礎的な文法の学習です) Win32コンソール プロジェクトを作成し、そのプロジェクトの中でCのソースファイルを作成して実行確認をしようと思っています。 プロジェクト内のソースファイルが1つだけだと正常にビルドできますが、2つ以上のソースファイルを作成してビルドすると 「1 つ以上の複数回定義されているシンボルが見つかりました。」 というエラーがでてしまい、実行することができません。 新たにWin32コンソール プロジェクトを作成し、その中でソースファイルを作成しなければ実行できないのでしょうか? よろしくお願いします。 Visual studio 2008 のリダイレクトについて Visual Studio 2008を使ってC言語のプログラミングをしています C言語のプログラムの実行結果を別ファイルに リダイレクトしようとしたのですが プロジェクトのプロパティ→構成プロパティ→デバッグ コマンド引数の箇所に >output.txt と打ったのですが、実行結果はCtrl+F5でしか出力されません Visual studio 2005だとF5のデバッグだけでも出力されていたのですが Ctrl+F5だとキーをわざわざおさないといけないので非常に不憫です。 2008ですと、2005と違ってどこかプロパティの設定を いじらないといけない箇所があるのでしょうか? お分かり頂ける方、宜しくお願いします Microsoft Visual C++ 2008 Express E Microsoft Visual C++ 2008 Express EditionのWindowsフォームアプリケーションでプログラミングを行っています。 現在は画面遷移の機能に手詰まりしています。 Form1->Form2のようにbuttonのクリックをきっかけに遷移するにはどうしたらいいか教えていただけないでしょうか? VBやC#などのソースはネットに載っていたのでそれを元に作成していましたが、完成には至りませんでした。 ご協力宜しくお願いします。 C# フォームプログラミングで public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { //Graphics grfx = CreateGraphics(); } private void Form2_Paint(object sender, PaintEventArgs e) { Form2 form2; form2.Paint += new PaintEventHandler(PaintHandler1); } static void PaintHandler1(object objSender,PaintEventArgs e) { Graphics grfx = e.Graphics; grfx.DrawString("test",Font font,Brushes.Black,0,0);//←ここでエラー } } このように書くと「引数を2個指定できる、メソッド DrawString のオーバーロードはありません」 というエラーがでてフォームに文字を表示できません 最初に「空のプロジェクト」で作れば普通にDrawStringで文字を表示できるのですが 「Windowsフォーム」を選んでからだと表示できないのはなぜでしょうか? 何がいけないのでしょう。 Visual Sutdioの継承について Visual Sutdioの継承についてお教えください こんにちは。Form1のデザインをForm2で継承したいと思っています。 そこで、継承ピッカーを使い、Form1のデザインをForm2で継承しました。 ここまでは良いのですが、継承したいのはあくまでフォームで、ボタン押下時のコードはForm2独自のコードを書きたいと思っています。 しかし、Form2のボタン押下時のイベントを書いても、Form1のイベントが起こった後に、Form2で記述したイベントが発生します。 このような事は避けて、Form2で作成した独自のイベントを作りたいと思いますが、どのようにすれば良いでしょうか? 宜しくお願いします。 VBでのプログラミング こんにちは。Visual Basic6を使っている初心者です。 2択で心理テストを作りたいと思っています。 トップページの開始ボタン(コマンドボタン)を押した後、そのまま同じウインドウに選択肢を書いたふたつのコマンドボタンを表示したいのですが、本を読んでみてもそれらしい方法が見当たりません(難しい方法なんでしょうか・・・) 表示させる方法をご存知の方がいればぜひ教えてください。 複数のプロジェクトやフォームを用意する必要がある場合、それらをどうやって組み合わせるのかも教えてください!お願いします。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム Visual Studio 2008(ASP.net) の「デバッグ開始」時間が遅すぎて… Visual Studio 2008 (ASP.NET)についての質問です。 プロジェクトを開き、IDEのツールバーの「デバッグ開始」ボタンを押してから、 スタートページに設定したフォームが表示されるまでが、非常に時間がかかると感じています。 具体的な状況として、Visual Stuudio 2003から2008に変換した、あるプロジェクトでは、 「デバッグ開始」ボタンを押してから、30秒ほどでステータスバーに「ビルドが終了した」と表示されます。 それから、スタートページに設定したフォームが表示されるまで、1分ほど時間がかかります。 2008に変換する前の、2003のプロジェクトのときは、ビルドは20秒で終了し、 それから、スタートページに設定したフォームが表示されるまでは、15秒ほどでした。 現状、「デバッグ開始ボタンを押してから、スタートページに設定したフォームが表示されるまでの時間」 を比べると、2003と2008では、3倍ぐらいの差があります。 質問内容は、2008の「デバッグ開始ボタンを押してから、スタートページに設定したフォームが表示されるまでの時間」を、 2003並みに高速化できないか、というものです。 なお、スペック等は下記の通りです。 Visual Studioのバージョン=2008 SP1 言語=Visual Basic プロジェクト数=2 フォーム数=200個 IISのバージョン=6.0 OS=Windows XP 以上、どうぞよろしくお願い致します。 デバック開始ファイルを変えたい こんにちは、 visual studio 2010 C#環境で勉強をしており 最初、クラスファイルを追加してデバック開始していたのですが、 途中からwindowsフォームを追加し、こちらをデバック開始起動させたいのですが、 方法がわかりません。 プロジェクトのプロパティ→アプリケーションの欄をみたのですが、スタートアップオブジェクトの ところにformがなかったものでして。 別のフォームでインスタンスを使う Visual Studio 2005 のC#でプログラミングをしているのですが、 Form1で作成した、インスタンスを別のフォーム(たとえばForm2)で使う方法がわかりません。 まだ、自分はプログラム歴が浅いですが、よければ御回答をお願いします。 ■Visual Studio 2008を快適に動かすためのスペックとは? 質問内容は、Visual Studio 2008 (ASP.NET)を、快適に動かすには、 どの程度のマシンスペックが必要なのか、というものです。 「快適」の基準としては、以下の引用における、VS2003のプロジェクト並みの 「デバッグ開始」速度を得られれば、と考えています。 以下、引用です。 http://oshiete1.goo.ne.jp/qa4436395.html ------------------------------------------------------------------ プロジェクトを開き、IDEのツールバーの「デバッグ開始」ボタンを押してから、 スタートページに設定したフォームが表示されるまでが、非常に時間がかかると感じています。 具体的な状況として、Visual Stuudio 2003から2008に変換した、あるプロジェクトでは、 「デバッグ開始」ボタンを押してから、30秒ほどでステータスバーに 「ビルドが終了した」と表示されます。 それから、スタートページに設定したフォームが表示されるまで、1分ほど時間がかかります。 2008に変換する前の、2003のプロジェクトのときは、ビルドは20秒で終了し、 それから、スタートページに設定したフォームが表示されるまでは、15秒ほどでした。 現状、「デバッグ開始ボタンを押してから、スタートページに設定したフォームが表示されるまでの時間」 を比べると、2003と2008では、3倍ぐらいの差があります。 ------------------------------------------------------------------ なお、当方のマシンスペック等は下記の通りです。 OS=XP Professional SP2 コンピュータ=Pentium(R) D CPU 2.80GHz, 2GB RAM Visual Studioのバージョン=Visual Studio 2008 SP1 Development Edition 言語=Visual Basic 以上、どうぞよろしくお願い致します。 アクセスでのエラーについて アクセス2000で作成したデータベースを「データベースの変換」を行ってアクセス2003で動かしているのですが、エラーが発生して対処しかねています。 アクセス2000の段階で、ファイルへのアクセスでエラー、というメッセージが出て 修復できず、今はデータベースの変換をしてアクセス2003で操作している状態です。 まずアクセスを起動すると、 "<フォーム名>を読み込み中にエラーが発生しました。プロジェクトの読み込みを続行しますか?" と聞いてきます。「はい」を選択するとその後は何も聞いてきません。 そして、フォームを開こうとすると "プロシージャの呼び出し、または引数が不正です"、や、 "イベントプロパティに指定した式 開く時 でエラーが発生しました。プロシージャの呼び出し、または引数が違います" といったメッセージが出て、フォームを開くことができません。また、 "データベースのVisual Basic for Applicationsプロジェクトが破損しています" というメッセージも出ました。 一気に書いてしまいましたが、どなたか分かる方がいらっしゃいましたら、解決策など教えていただけないでしょうか。 よろしくお願いします。 visual studioのデザイナ画面でエラーがでる visual studio 2008 express edition C#3.5 を使用しています。 新しい項目の追加からフォーム画面をそれぞれ 「Base.cs」 public partial class Base : Form { public Base(int i) { InitializeComponent(); } } 「CSharp.cs」 public partial class CSharp : Base { public CSharp(int i) : base(i) { } } とCSharpクラスはBaseクラスを継承させるようにしたいのですが、 上のように引数付きコンストラクタで記述すると 「型 'Test.Base' にコンストラクタが見つかりませんでした。 」 というエラーが出てデザイン画面が表示されなくなります・・・ 次のように 「Base.cs」 public partial class Base : Form { public Base() { InitializeComponent(); } public Base(int i) { InitializeComponent(); } } Baseクラスに引数なしのコンストラクタを追加すれば問題なくデザイン画面が表示されるのですが、 これはvisual studioだから起こるエラーなのでしょうか? slnファイルを開くと変換ウィザードが出る プログラミング初心者です。 あるプログラムのプロジェクトファイル(拡張子がsln)を、リビルドする為にvisual studio2008を導入しました。 プログラム言語はC#。ファイルを開くと「このプロジェクトは旧バージョンで作成されているため、変換する必要があります...」とのエラーが出ます。 変換させる事なくこのプロジェクトファイルを開くために、visual studio2005 expresseditionを新たに導入し、開こうとしたのですが、同じメッセージ... このプロジェクトファイルがいつのバージョンのvisual studioを使い、作られたのかを知る方法はありますか? Visual Basic2008にて、新しいプロジェクトを作成する事が出来ません。 会社でVisual Basic2008を使っている為、 参考書に付属のVB2008インストールCDにて、 Visual Basic2008Express Editionを自宅のPCにインストールを行いました。 VB2008を起動し、スタートページを表示させる事や、 会社から持ってきたVB2008のプロジェクトを開き、編集する事は 可能となっており、新しいプロジェクトを作成する事が出来ない状態です。 プロジェクト新規作成の手順として、 1.[ツールバー] ファイル → 新しいプロジェクト 2.スタートページの左上の「最近使ったプロジェクト」の下にある「作成: プロジェクト」をクリック。 このどちらかの操作も、実行すると「新しいプロジェクト」画面に遷移する事は出来ますが、 Windowsフォームアプリケーションなどのテンプレートを選択すると「OK」ボタンが押せない状態になり、 プロジェクトを作成する事は出来ません。 また、「マイテンプレート」のオンラインテンプレートの検索を選択し、「OK」ボタンを押し、進めることは出来ます。 私が気になる点として、「新しいプロジェクト」画面の左側に表示されるはずである、 「プロジェクトの種類」が表示されません。 この点から、テンプレートを管理するデータがダウンロード出来ていない。 または、テンプレートを管理するデータがうまく設定出来ていないのではと思っております。 OSはWindouwsXPです。 関係ないかもしれませんが、WindouwsUpdateも最新となっております。 システムエラー等は表示されません。 初心者の為、説明の足りない点などがございましたら言って下さい。 ご指導宜しくお願い致します。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など