C♯相談室 Part22

このエントリーをはてなブックマークに追加
928デフォルトの名無しさん:2005/04/06(水) 22:14:47
可能ですか? と聞かれると、可能。とだけ答えたくなるな。

ContextMenu.Showを使う。
929デフォルトの名無しさん:2005/04/06(水) 22:42:46
やさしい
930デフォルトの名無しさん:2005/04/07(木) 00:33:51
可能、とだけ答えようとした自分が恥ずかしい。
931デフォルトの名無しさん:2005/04/07(木) 04:07:37
行き詰まってしまったので質問させて頂きます。

System.Diagnostics.Process.MainWindowHandle から取得したウィンドウハンドルから、
コントロールオブジェクトを取得したいのですが、上手くいきません。

以下のようにして取得しようと試みたのですが、control が null になってしまいます。

// notepad のプロセスを取得
Process[] processes = Process.GetProcessesByName("notepad");
// 見つからなかったときは抜ける
if (processes.Length == 0) return;
// メインウィンドウのウィンドウハンドルからコントロールオブジェクトを取得
Control control = Control.FromHandle(processes[0].MainWindowHandle);

MSDN にも何も書かれていなくて困っています。
何か解決法はありませんでしょうか。よろしくお願いします。
932デフォルトの名無しさん:2005/04/07(木) 05:42:58
別プロセスのハンドルからは無理。
933デフォルトの名無しさん:2005/04/07(木) 09:40:23
会社でC#を使用して開発をしてますが
当然のことながら自分が愛用している分厚い本を数冊横において仕事してます。
中には10日で出来る〜といったものから500の技とかもおいてありますが
主に使用しているのはリファレンス本です。
社長とかに「いつかは本を見なくても開発できるようになれ」とか言われたんですが
普通は開発してるときに本とか見ないんですかね?
934デフォルトの名無しさん:2005/04/07(木) 11:20:14
>>933
普通は見ないが見たってそれなりのペースで開発できてれば
なんの問題もないと思うが。
935デフォルトの名無しさん:2005/04/07(木) 11:54:35
C# に関しては見ないが、.NET Framework に関しては時々
936デフォルトの名無しさん:2005/04/07(木) 12:51:15
>>933
きみはリファレンス本みたいな辞書本だけじゃなくて
本質について説明された本を見た方がいいかもね。
937デフォルトの名無しさん:2005/04/07(木) 13:11:00
そりゃC#の本質か?

933ではないけど俺も本は置いてるよ。
でもまぁMSDNの方でたいていは事足りるけどね。

C#の本質が書いてある本があったら俺も見てみたいよ。
938935:2005/04/07(木) 13:16:08
ああ、MSDN は参考書に数えないのか
939デフォルトの名無しさん:2005/04/07(木) 13:45:12
「本を見なくても」ってのは、ネットやヘルプを活用しろって意味なのか、
全部覚えろって意味なのか。
940デフォルトの名無しさん:2005/04/07(木) 13:55:15
誰に聞けば解決できるか知ってれば良いんだよ。
本を暗記しても無駄だよ
941デフォルトの名無しさん:2005/04/07(木) 13:58:14
全部覚えるなんて無理だよ

判らない時に調べる能力があれば
本だろうがなんだろうが問題ない
942デフォルトの名無しさん:2005/04/07(木) 14:03:30
その本は自分で買ったのか会社が買ってくれたのかどっちだ?
会社の金が出ていってるなら「あまり金使うな」という意味かもしれん。

943デフォルトの名無しさん:2005/04/07(木) 14:14:18
っていうかさ、「いつかは」 ってことは期待されてないんじゃ?
944デフォルトの名無しさん:2005/04/07(木) 16:24:13
TreeViewについて質問です。

TreeNode node = new TreeNode("a");
this.treeView1.Nodes.Add(node);

これをやるだけで、画面上のツリービューに横スクロールバーが
表示されてしまうのですが、横スクロールバーを消すにはどのように
したらよいのでしょうか?

先々、縦のスクロールバーは必要になるので Scrollable = false には
したくありません。

よろしくお願いします。
945デフォルトの名無しさん:2005/04/07(木) 16:37:00
ふと思ったんだけど、こういう質問ってさ、
「.NET Framework では出来ないけど、裏技があって、WinAPI を……」
とかいう答えを期待しているの?
946デフォルトの名無しさん:2005/04/07(木) 17:02:13
VisualStudioC#でWebアプリを作成しています。

ところで、aspxで生成されるHTMLをサーバにファイルとして
保存することは可能でしょうか?
aspxで作成したwebをCDに焼く必要が出来てしまったもので、
単体のHTMLとして保存したいのです。

ブラウザから保存していくには数が多いので・・・

どなたかよろしくお願いいたします。
947デフォルトの名無しさん:2005/04/07(木) 17:42:20
GetHTMLWとか?
948デフォルトの名無しさん:2005/04/07(木) 17:47:20
>>946
wgetとかツール使えば
949デフォルトの名無しさん:2005/04/08(金) 00:28:50
スプラッシュWindow作成しようとして、
dobon.net/vb/dotnet/form/splashwindow.html
これ参考に作ってみたのですが、別スレッドでフォームを表示させた
MainがActivatedになると消えるところまでうまくいったのですが、
なぜかスプラッシュWindowのほうがどのWindowsよりも一番最下位に配置
されてしまい困っています。TopValueやActivate()を使用しても効果が
なく困り果てました。
950デフォルトの名無しさん:2005/04/08(金) 00:35:09
それは大変ですね、お気の毒に・・・
951872:2005/04/08(金) 00:54:56
abstract class Base : UserControl {...}
class A : Base {...}
class B : A {...}

デザイナでAを編集しようとすると、
> デザイナは型 'Base' のインスタンスを作成しなければなりませんが、
> 型が abstract として宣言されているため、作成できませんでした。
とのエラーが。
Bは普通に編集できる。

baseクラスのインスタンスが作成できないとデザイナは使えないようだ。謎。
952デフォルトの名無しさん:2005/04/08(金) 01:02:30
なぜかそういう制約があるねえ。
直接の基底クラスはインスタンスかできる必要がある、みたいな。
953デフォルトの名無しさん:2005/04/08(金) 03:02:56
なんかこのスレに基地外が混ざってるな
954デフォルトの名無しさん:2005/04/08(金) 03:22:45
httpプロトコルを使うにはどうしたらいいですか?
955デフォルトの名無しさん:2005/04/08(金) 03:25:00
956864:2005/04/08(金) 07:36:23
>>872
謎ですよね。
しょうがないのでabstractをやめてvirtual化してしまったわけですが..
957デフォルトの名無しさん:2005/04/08(金) 11:40:56
謎もなにも基底クラスインスタンス化したのがデザイナで表示されてるやつだろ
958デフォルトの名無しさん:2005/04/08(金) 20:03:00
Graphics.DrawString() で描画する際、
このテキストの行頭から行末までの幅をpx単位等で事前に取得したいのですが、
どのように計算すればよいのでしょうか。
959デフォルトの名無しさん:2005/04/08(金) 20:04:16
Graphics.MeasureString()
960デフォルトの名無しさん:2005/04/08(金) 21:17:24
>>957
そういう意味じゃなくって、不便な制約だなぁ。
MSほどの男が信じられん。謎だ。という意味です。
961名無しさん♯:2005/04/08(金) 22:53:51 BE:135427384-
新スレですよ。( ゚д゚)ノ
http://pc8.2ch.net/test/read.cgi/tech/1112968209/l50
962デフォルトの名無しさん:2005/04/09(土) 01:38:57
>>961
乙。
しかしこのスレは980辺りでも良いような気もする。

まあいいや、埋め草に.NET2.0/C#2.0のことでも語らないか。

C#2.0で一番使ってるのが無名メソッド。
Expressを使わずSDKでかりかり書いてる身としてはすげえ便利。
デリゲートの引数を使わない場合は省略できるのが良い。

Nullableはデータベースを基本的に使わないのもあって使いどころがない。何か無いか。

ジェネリクスはList<T>, Dictionary<K,V>は使うけど、自分で定義する事がまずない。
実行時解決だから演算子とかほぼ使えないし。
Delegateをwhere指定できないとか。
配列のソートとかに使うとか。結局コレクション絡みか。

yieldはあんまり使わないがあれば便利。

あとなんかあったっけ?
963デフォルトの名無しさん:2005/04/09(土) 03:34:18
このスレは新スレができてからが本番なんだから。
964デフォルトの名無しさん:2005/04/09(土) 03:36:39
俺は static class を使いたい。
965デフォルトの名無しさん:2005/04/09(土) 03:42:30
(゚听)イラネ
966デフォルトの名無しさん:2005/04/09(土) 05:56:48
>>957
基底クラスがabstractなときデザイナは「何」をインスタンス化すればいいのさ?
abstractじゃなければ基底クラス+InitializeComponent+DesignMode=trueで
済むんだけど。
取り合えず、俺はすぱっときれいな実装思いつかないわけだが。
967デフォルトの名無しさん:2005/04/09(土) 06:00:34
スマソ。アンカーミス
>>957 -> >>960
968デフォルトの名無しさん:2005/04/09(土) 11:36:47
>>966
966 ではないが、もしデザイナにそのような機能を追加しようと思うならアトリビュートを使って別のインスタンス可能な互換のあるクラスをデザイナに表示すればいいんじゃないかな
そんなことより、デザイナに最後に配置したコントロールが突然消えてなくなるのは何故?
だんだんこのバグ腹立ってきたんですけど
969名無しさん♯:2005/04/09(土) 14:07:21 BE:114266693-
>>962
匿名メソッドは、C#の言語仕様に型推論を認めたという点ですごく大きいと思います。
将来的には、匿名構造体とかもっと過激に型推論をやってくれるかもしれないので。

NullableはCLIのような型システムではあまり効果がないですね。
むしろ、参照型向けにNon-nullableを作ってくれた方がうれすぃですわ。

genericsは文法を取り入れただけで、データモデルがまだまだ足りないですね。
Tuple、Variant、generic Functionとかがコアに入ってくれないと。

iteratorは遅延リストで無限のデータ構造が扱いやすくなるかなと思ったら、
コレクションクラスの実装がとってもeagerなので、正直使いどころがわからん。

> あとなんかあったっけ?
Partial。w
濫用厳禁。
970デフォルトの名無しさん:2005/04/09(土) 15:36:00
個人的には参照先消滅でファイナライザもしくはDisposeを実行するような機構付きの参照が欲しい
これがあると何も考えずにプログラムできるので・・・
作ってくれないかなぁ
using はいまいち使いずらい・・・

>Non-nullable
これはいいね、欲しい。
初期値は何にするとかちょっと難しい問題もありそうだけど・・・
971デフォルトの名無しさん:2005/04/09(土) 16:05:12
C++/CLI でできるよ
972デフォルトの名無しさん:2005/04/10(日) 00:02:01
つーか2.0になったら今までと同じ事をするのに
今までと同じ文法の書き方で作れるの?
それとも一から勉強し直し?
973デフォルトの名無しさん:2005/04/10(日) 00:36:26
おまいはWindowsがバージョンアップするにつれ
「一から」覚えなおすのか?
974デフォルトの名無しさん:2005/04/10(日) 00:46:16
互換性はあるはず
975デフォルトの名無しさん:2005/04/10(日) 02:08:41
>>957
ですけど、なにか?
976デフォルトの名無しさん:2005/04/10(日) 03:36:24
2003で2.0使えるようにはならない?
977デフォルトの名無しさん
2005使え