952 :
デフォルトの名無しさん :2006/02/01(水) 08:00:43
「通常使うプリンタ」に設定されているプリンタ名を獲得するのはどうすればいいのか。
「アタック25」でパリ挑戦権を獲得するにはどうすればいいのか。
まず葉書き。
なんで勝手にインストーラが立ち上がるんだよ! uzeeeeeeeeeeeeeeeeeeeeeeeeeee!
>>952 new System.Drawing.Printing.PrinterSettings().PrinterName;
957 :
デフォルトの名無しさん :2006/02/01(水) 19:17:40
DataGridView勉強し始めたら参考資料がなくて愕然としています。 良いサイトを御存知でしたら誰か教えて頂けませんか? 命令や使い方があればOKです。
まだ見かけないな。頑張れ、君がパイオニアだ。
try{}.catch{] に関して教えてください。 あるクラスで try { FormA f = new FormA f.show() } catch (Exception ex) { // ここで f の Exception を拾いたい } のように、FormA での Exception を呼び出した元クラスで拾いたいのですが 今だと FormA のエラー発生箇所で、エラーメッセージが表示されてしまいます。 上記の事を実現する方法はありますか?
961 :
デフォルトの名無しさん :2006/02/01(水) 19:34:55
>>960 ありがとうございます。でもこのサイトの説明はSQL使うんですよ。
大げさなしかけはいらないのですが・・・
ヘルプの説明も分かりづらいしググってもいいサイトないんです。
とにかくありがとうございました。
964 :
959 :2006/02/01(水) 21:00:45
>>962 それが catch できないんですよ。。。
>>963 Show でも ShowDialog でも catch できませんでした。
もしかして、別 DLL だと catch できませんか?
コンパイルは通ってるのか?
例外がメッセージループのスレッドで発生するようになるのでトラップできなくなる。 //Showはそれ以前に次に移ってしまうがな。 Application.ThreadExceptionイベントで処理。
967 :
959 :2006/02/01(水) 21:19:56
>>966 ありがとうございます。
Application.ThreadExceptionイベントですね、勉強します。
メニューの Exe があって、そこから各機能の DLL(form) を Show しています。
想定できる Exception は、各機能の DLL で処理するんですが、
万が一想定外の例外が発生した場合は、このメニューの EXE でキャッチ
して、.NETFx が出力するメッセージをユーザーには見せたくないん
ですよね。なんで、show した後で、その show を行なった部分で
キャッチしようとしたんですが、たしかに show したら次に進みますね…。
こういった場合、他に定石みたいな組み立て方があれば
アドバイス頂けるとうれしく思います。よろしくお願いします。
968 :
デフォルトの名無しさん :2006/02/01(水) 21:28:14
PageSetupDialogのセンチ指定の問題があるのでいっそインチで使いたいのですが プログラムから切り替える方法がわかりません。 2.0のPageSetupDialog.EnableMetricは確認しましたが妙な風に丸められるのは相変わらずでした。 コントロールパネルの地域オプションで単位をヤードポンド法に変えれば換わるのは確かめました。 Thread.CurrentCultureやGlobalizationSection.UICultureをいじってるのですが変わってくれません。 今のところ2.0で試してみてますが、1.1でできる方法があればお願いします。
>>959 >FormA f = new FormA
>f.show()
行末にセミコロンがないのが気になるんだが…
>>959 そのFormのエラーを一まとめにしたいってことでしょ?
Thread.GetDomain().UnhandledException += new UnhandledExceptionEventHandler(Form1_UnhandledException);
で例外出したスレッドをそのままハンドルできるのでそれでやるべし。
WinFormの場合は、というかメッセージループに対応する場合はApplication.ThreadExceptionの方。
972 :
970 :2006/02/01(水) 22:47:47
補足:Form作るとき別スレッドで作ること。
973 :
デフォルトの名無しさん :2006/02/01(水) 23:41:11
.net初心者です。 イベントについて教えてください。 以下のようなControlクラスのOnClickをオーバーライドするメソッドがありますです。 public class Form1 : System.Windows.Forms.Form { protected override void OnClick(EventArgs e) { base.OnClick (e);//@ } } デリゲートとイベントの仕組みを一通り読み終えたところなんですが、 今の知識で上のメソッドを読むと、 「このFormの基本クラスであるControlクラスのOnClickメソッドをオーバーライドして、 Controlクラスの@OnClickイベントデリゲートに、EventArgs型の引数を渡す事で、 Controlクラスにきっと記述してあるであろう、Control.OnClick += new EventHandler(。。。 んもう。わけわかりません。
974 :
デフォルトの名無しさん :2006/02/01(水) 23:42:09
MSDNに以下のような文言を発見しました。 メモ プロテクトされた OnEventName メソッドを使用すると、 デリゲートをアタッチせずに、派生クラスでイベントをオーバーライドすることもできます。 派生クラスでは、登録されたデリゲートがイベントを必ず受信できるように、 常に基本クラスの OnEventName メソッドを呼び出す必要があります。 んもう。さっき読んだ仕組みも説明がつかなくなってしまったので、以下のように書いてみました。 protected override void OnClick(EventArgs e) { base.OnClick (e);//@ } private void Form1_Click(object sender, System.EventArgs e) { MessageBox.Show("Form1_Click");//A } private void Form2_Click(object sender, System.EventArgs e) { MessageBox.Show("Form2_Click");//B } 実際にフォームをクリックしてみると、@・A・Bという順番で呼ばれました。 俺。逝ってよし。
結局何を聞きたいんだ? 自己完結? とりあえずOnClickはイベントハンドラではない。
すいません。。 ↑の二つ無かった事にしてください。 protected override void OnClick(EventArgs e) { MessageBox.Show("test"); } private void Form1_Click(object sender, System.EventArgs e) { MessageBox.Show("test"); } このように書くと、Form1_Clickイベントが発生しないのは何故ですか?
イベントハンドら登録してないんだろ
派生クラスでOnClickをオーバーライド、つまり上書きしている。 で、基底クラスではユーザがクリックしたときにOnClickを呼び出す。 基底クラスのOnClickでClickイベントに関連付けられたイベントハンドラを呼び出す。 が、派生クラスでOnClickが上書きされているので、 Clickイベントに関連付けられたイベントハンドラを呼び出す部分が実行されなくなる。
質問です C#2003のaxWebBrouserのイベントで CommandStateChange というのがありますが C#2005のWebBrouserのイベントでは 何を指定してやれば同じイベントを指定できますか 変な日本語ですみません(´Д`;
Bro w ser な 何したいのか知らんが、進む/戻るならCanGoForward/BackChangedでいいんじゃね
>>981 ご親切にどうもです
進んだり戻ったりできますた。
あとスペルミスごめんなさい
984 :
デフォルトの名無しさん :2006/02/03(金) 01:06:10
コントロールを別スレッドから操作するにはInvokeが必要なのはわかったが 別スレッドで作ったコントロールを追加するのにも必要? A,Bスレッドがあって Bのスレッドコントロールを作成(インスタンス生成) AのコントロールのControl.Controls.Add(Bスレッドで作成したコントロール) をInvoke経由で呼び出し、Aスレッド上にBスレッド作成コントロールを追加したとして Bスレッドで作成したコントロールをこの後もずっと AスレッドではInvoke経由で操作しないんとまずいのか?
なに無茶なことしようとしてんだよ… ハンドルできる前なら問題ないのかもしれんが。
Delegateでいくね?
988 :
デフォルトの名無しさん :2006/02/03(金) 03:08:01
C# と Visual C# は別物ですか? 知人が言うには、 Basic と Visual Basic が違うように、 また、C++ と Visual C++ が違うように、 C# と Visual C# も違うのだとか そうなんですか?
990 :
デフォルトの名無しさん :2006/02/03(金) 03:12:11
>>989 レスありがとうございます
では言語的には C# でおkってことですね
分かりました
>>990 ちなみに、VB の BASIC は例えば日本の高校数学の教科書に載ってる(載ってた?)
奴とは確かに全然違うんで、言語の方も VB と呼ばれる。
BASIC はいろいろ方言があるんで、高校の教科書に載ってる奴も
N88 BASIC と言わないと正確には通じない。
それに、VB 6 以前と VB7 以降でかなり言語仕様が変わったんで、
7 以降のは VB.NET って言って別言語扱いした方がいいかと。
C++ はかなり標準化がしっかりされてて、
どの開発環境使おうと C++ は C++。
VC++ は 6.0 までは標準対応が遅れ気味だったけど、
VC++ .NET (VC++ 7.0)以降は他のどのコンパイラよりも標準対応度合いがしっかりしてる。
C# もちゃんと標準化されてるんで、
VC# 使おうと、mono 使おうと、dot GNU 使おうと、SSCLI 使おうと C# は C#。
ところで新スレは立てんのか? // 私は無理だった
次スレ立てます。
994 :
993 :2006/02/03(金) 03:42:59
おいこらなに基本的なミスしてんだ
sage
the end and a restart.
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。