C♯, C#相談室 Part35
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/03(金) 03:07:45前スレ
C♯, C#相談室 Part34
http://pc8.2ch.net/test/read.cgi/tech/1157549657/
過去スレは>>2-5あたり。
※スレタイに「#」を入れても消えちゃうので新スレ立てる人は要注意だ。
0284デフォルトの名無しさん
2006/11/12(日) 09:59:240285デフォルトの名無しさん
2006/11/12(日) 10:09:320286デフォルトの名無しさん
2006/11/12(日) 10:15:19もっと簡潔に
0287デフォルトの名無しさん
2006/11/12(日) 10:21:39「コントロール上でのkeydownイベントが発生しない」にすりかわってるんだろう。
あ、釣られたのか。
0288デフォルトの名無しさん
2006/11/12(日) 10:47:27実は違うみたいれつよ(藁
後学のためにきみたちのもおいらが調べた結果をまとめたので教えてあげよう
http://www.atmarkit.co.jp/fdotnet/dotnettips/241windlgkey/windlgkey.html
以上だ。いかにもC#のことなら何でも知ってる見たいなツラして回答者ぶるなら
少しは勉強しろよな(禿藁
-------------------------------------------------------------
簡潔にしてみました
0289デフォルトの名無しさん
2006/11/12(日) 11:17:26特殊Keyもしらないのでちゅか・・・?
0290デフォルトの名無しさん
2006/11/12(日) 11:20:00君みたいにエスパーじゃないからね
0291デフォルトの名無しさん
2006/11/12(日) 12:19:21>>211
0292デフォルトの名無しさん
2006/11/12(日) 13:51:160293デフォルトの名無しさん
2006/11/12(日) 13:55:520294デフォルトの名無しさん
2006/11/12(日) 14:09:57先を見ることができない>>292は脱落者
vista(=見晴らし、見通し)とヒントまで与えてくれてるのに気づかないとはね・・・
┐(´ー`)┌
0295デフォルトの名無しさん
2006/11/12(日) 14:21:34┐(´ー`)┌ ← このAAが禿しくムカツクんだが。
0296デフォルトの名無しさん
2006/11/12(日) 14:22:170297デフォルトの名無しさん
2006/11/12(日) 14:27:30がんばって磨きますw
0298デフォルトの名無しさん
2006/11/12(日) 14:46:090299デフォルトの名無しさん
2006/11/12(日) 15:26:07EXCELのマクロより遅いなんて話は聞いたことが無いよ。
0300デフォルトの名無しさん
2006/11/12(日) 15:28:300301デフォルトの名無しさん
2006/11/12(日) 15:59:00>>296がいい事言ってる
0302デフォルトの名無しさん
2006/11/12(日) 16:10:31'hogehoge.Index' を ref または out として渡すことはできません。
コンパイルエラーでこういうのが出てしまいます。
元のコードは、こんな感じです。
↓
class hogebase
{
public int Index = 0
}
class hogeInherit : hogebase
{
private void Close()
{
base.Index = 100;
}
}
void main()
{
hogebase hb = new HogeInherit();
Console.WriteLine('{0}',
}
0303デフォルトの名無しさん
2006/11/12(日) 16:11:160304デフォルトの名無しさん
2006/11/12(日) 16:13:560305デフォルトの名無しさん
2006/11/12(日) 16:15:18void main()
{
hogebase hb = new HogeInherit();
Console.WriteLine('{0}', hogeInherit.Index.ToString());
}
これの間違いです。
0306デフォルトの名無しさん
2006/11/12(日) 16:31:29おまいにはこっちのほうがお似合い
ふらっとC♯, C#(初心者用) Part10
http://pc8.2ch.net/test/read.cgi/tech/1162193452/
0307デフォルトの名無しさん
2006/11/12(日) 16:35:05向こうに行きます。
0308デフォルトの名無しさん
2006/11/12(日) 20:35:50デバッグモードだとEXCELにも負けるのか・・・
┐(´ー`)┌
0309デフォルトの名無しさん
2006/11/12(日) 20:38:360310デフォルトの名無しさん
2006/11/12(日) 20:45:03失せろっていってんだよ。
何度も同じことを言わせんなよ。
カスが。
0311デフォルトの名無しさん
2006/11/12(日) 20:49:230312デフォルトの名無しさん
2006/11/12(日) 21:01:21┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
0313デフォルトの名無しさん
2006/11/12(日) 21:13:400314デフォルトの名無しさん
2006/11/12(日) 21:16:030315デフォルトの名無しさん
2006/11/12(日) 21:30:160316デフォルトの名無しさん
2006/11/12(日) 21:34:300317デフォルトの名無しさん
2006/11/12(日) 22:12:490318デフォルトの名無しさん
2006/11/12(日) 22:20:38┐(´ー`)┌
0319デフォルトの名無しさん
2006/11/12(日) 22:26:01ほらw
うじゃうじゃと湧いてくるよw
0320デフォルトの名無しさん
2006/11/12(日) 22:35:430321デフォルトの名無しさん
2006/11/12(日) 22:37:17┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
0322デフォルトの名無しさん
2006/11/12(日) 22:41:440323ぼるじょあ ◆yBEncckFOU
2006/11/12(日) 23:26:500324デフォルトの名無しさん
2006/11/13(月) 00:17:08いいのでしょうか?
Cでいうmemcpyみたいなことをしたいのです。
0325デフォルトの名無しさん
2006/11/13(月) 00:31:24クラス名な
0326デフォルトの名無しさん
2006/11/13(月) 00:44:59ありがとうございました
0327デフォルトの名無しさん
2006/11/13(月) 13:25:55普通にif文を書いた方が見やすいようなきもするんですけど、どうなんでしょう。
0328デフォルトの名無しさん
2006/11/13(月) 13:40:16見やすく書いたほうが、読む方は読みやすい。自分が書いたコードでも時間が経つと
意外と悩んだりするもの。C言語でもできれば使わないほうがよいとされている。
C#でもそれは同じだろうと、俺は思っている。三項演算子の方が分かりやすいと判断
したところには使ってもいいんじゃないか?そういう意味ではgotoみたいなもの。
0329デフォルトの名無しさん
2006/11/13(月) 13:46:45事をしたいのですが、その方法で煮詰まっています。
public static bool IECallBack(IntPtr hwnd, IntPtr lParam)
{
StringBuilder sbClassName = new StringBuilder(256);
GetClassName(hwnd, sbClassName, sbClassName.Capacity);
if( sbClassName.ToString().StartsWith("IEFrame"))
{
Form1.al.Add(hwnd);
}
return true;
}
// EnumWindows でIECallBack へさせる。
EnumWindows(new EnumWindowCallBack(Form1.IECallBack), IntPtr.Zero);
こんな感じでWindowのハンドルは取得できるのですが、Window内のオブジェクトを取得する
方法が分からなくて困っています。
どなたかご教授していただけませんでしょうか?よろしくお願い致します。
0330デフォルトの名無しさん
2006/11/13(月) 13:50:52ようするに読みにくいのは3項演算子のせいじゃない。
0331327
2006/11/13(月) 15:53:16if文で何行も使うのはどうかなと思ってました。
if (〜) { 〜 } else { 〜 }
かっこの中が1行で済むときはこんな感じで書いていたのですが、
一般的に3項演算子のほうを使うのかなと思って質問しました。
あまり参考書などで使ってるのを見かけないので
一般的に使われていないのかなと思って質問しました。
少し使ってみようと思います。
0332デフォルトの名無しさん
2006/11/13(月) 17:22:36COMのMicrosoft Internet ControlsとMicrosoft HTML Object Libraryを参照
using SHDocVw;
using mshtml;
ShellWindows sw = new ShellWindows();
foreach (InternetExplorer ie in sw)
{
if (System.IO.Path.GetFileName(ie.FullName) == "IEXPLORE.EXE")
{
IHTMLDocument2 htmlDoc = (IHTMLDocument2)ie.Document;
Console.WriteLine(htmlDoc.url);
}
}
0333デフォルトの名無しさん
2006/11/13(月) 18:03:11正にこれです。COMオブジェクト関連の操作に関してはVBの資料は多いのですが
C#に関する資料があまりなくて苦労していました。
本当に有難う御座います。
追加で質問なのですが、IEのウィンドウでさらにアクティブになっているウィンドウを取得したいのですが、
Shellwindowからhwndを抜き出すことは簡単に出来るものなのでしょうか?
0335デフォルトの名無しさん
2006/11/13(月) 21:07:200336335
2006/11/13(月) 21:11:54↓みたいなページもあったのですが、ページが古くて、重要なウプデータがなかったりで・・・(´・ω・`)
ttp://thespoke.net/forums/950208/ShowPost.aspx
0337デフォルトの名無しさん
2006/11/13(月) 21:14:50こんなんじゃだめなん?
ttp://support.microsoft.com/kb/139098/ja
0338デフォルトの名無しさん
2006/11/13(月) 21:47:17おおお、ありがとうございます!!
0339デフォルトの名無しさん
2006/11/14(火) 14:44:050340デフォルトの名無しさん
2006/11/14(火) 18:21:51C#ではどうすりゃいいの?
他のアプリケーションのウィンドウに送られるWM_ACTIVATEメッセージを
キャッチしたいんだけど…。これをやりたい場合はグローバルフックする
必要があるからC#じゃ無理…だよね?
やはりTimerイベントを1秒間隔くらいで発生させて、その中で
GetForegroundWindowなどを呼び出してチェックする方法しかないのかな。
0341デフォルトの名無しさん
2006/11/14(火) 18:35:30ttp://msdn2.microsoft.com/ja-jp/library/843s5s5x(VS.80).aspx
0342340
2006/11/14(火) 22:19:36.NETアプリにコマンドライン引数などで通知するなんてこともできるかな。
スマートじゃないけど。
うーん。いい方法が思いつかない。素直に全部C言語で作ったほうが早いかな…。
0343デフォルトの名無しさん
2006/11/14(火) 22:23:09GUI を C# で作りたいのならその部分だけ別プロセスで。
0344デフォルトの名無しさん
2006/11/14(火) 22:49:460345デフォルトの名無しさん
2006/11/14(火) 23:02:560346デフォルトの名無しさん
2006/11/15(水) 00:26:36オブジェクトそのものが占めるメモリを解放するなら参照を切ってからSystem.GC.Collect()する。
特定のオブジェクトのメモリ領域を解放するのは不可能だしそもそも意味がない。
0347デフォルトの名無しさん
2006/11/15(水) 00:41:39IntPtr ptr = ...;
ptr = (IntPtr)(ptr.ToIntXX() + 3);
などと書くとアーキテクチャに依存して効率が落ちたりしそうな気がするのですが
どうなんでしょう。
0348デフォルトの名無しさん
2006/11/15(水) 00:44:300349デフォルトの名無しさん
2006/11/15(水) 00:52:40そんなことするくらいなら全部ネイティブで書いたほうが早い
Cだと面倒なんでC++/MFCならC#を使うより工数は少ないはず
0350デフォルトの名無しさん
2006/11/15(水) 00:57:27その質問に答えられるのは MS の中の人だけだろう。
MSDN フォーラムででも聞いてくれ。
0352デフォルトの名無しさん
2006/11/15(水) 01:36:58Listメンバを編集させないようにできないですか?
ReadOnly をつけても編集できてしまいます
class MyClass{
private List<string> myList;
[ReadOnly(true)]
public List<string> MyList{
get{return myList;}
set{list = myList;}
}
}
0353デフォルトの名無しさん
2006/11/15(水) 10:02:58プロパティとしては、setterを用意したいけど、
デザイナー上からは、編集できないようにしたいってこと?
0354デフォルトの名無しさん
2006/11/15(水) 10:22:50「関連付けたい拡張子のファイルを右クリック」
→「プログラムから開く」
→「プログラムの選択」
で作成したアプリケーションを選択したら、アプリケーション名が空になってしまいました。
これって何が悪いのでしょうか?
0355デフォルトの名無しさん
2006/11/15(水) 11:58:280356デフォルトの名無しさん
2006/11/15(水) 13:42:04Argじゃなくてプロパティにあった気がする
0357デフォルトの名無しさん
2006/11/15(水) 19:04:48文字型の1が0x31のはずなのになんかばかでかい変な値だった
どうやればいいか教えてくれ
0358デフォルトの名無しさん
2006/11/15(水) 19:05:400359デフォルトの名無しさん
2006/11/15(水) 19:21:170360デフォルトの名無しさん
2006/11/15(水) 19:21:270361デフォルトの名無しさん
2006/11/15(水) 19:44:08それじゃ
0362デフォルトの名無しさん
2006/11/15(水) 20:15:220363デフォルトの名無しさん
2006/11/15(水) 21:39:370364デフォルトの名無しさん
2006/11/15(水) 21:41:410365デフォルトの名無しさん
2006/11/15(水) 21:54:49すまん。
もう、君が何を言ってるのかわからないよ。
0366デフォルトの名無しさん
2006/11/15(水) 22:11:15多分 AssemblyTitle 属性の値が使われると想う。
AssemblyInfo.cs 見てみ。
あとキャッシュされてる可能性がある。
前にそう言うやり取り見たな。あれは XP のタスクバーのグループ化の話だったか。
0367デフォルトの名無しさん
2006/11/15(水) 22:25:32何となく理解はできた。
それすらもわからないなら君も早く引退した方がいいよ^^
0368デフォルトの名無しさん
2006/11/15(水) 22:37:27intみたいな数字型に変換するのは無理…というかしちゃダメじゃないの?
Encoder使って、byteに変換すれば可能だけど
0369デフォルトの名無しさん
2006/11/15(水) 22:42:36(゚д゚)ハァ?(゚д゚)ハァ?(゚д゚)ハァ?(゚д゚)ハァ?
0370デフォルトの名無しさん
2006/11/15(水) 22:58:19CharもInt32もただの構造体だがその辺は適当にConvertibleになってる。
つーか、君はちょっとくらい調べてから発言しようとは思わんのかね。
0371デフォルトの名無しさん
2006/11/15(水) 22:59:220372デフォルトの名無しさん
2006/11/15(水) 23:13:23char->intなら暗黙的にキャストできるだろ。
0373デフォルトの名無しさん
2006/11/15(水) 23:21:470374デフォルトの名無しさん
2006/11/15(水) 23:25:340375デフォルトの名無しさん
2006/11/15(水) 23:26:060376デフォルトの名無しさん
2006/11/17(金) 17:55:33左に移動する処理を行いたいのですが、下記のイベント
にブレークポイントをおいても、イベントがコールされません。
EnableはTrueになっています。
何か設定に不備があるのでしょうか?
dataGrid1_KeyPress
dataGrid1_KeyUp
dataGrid1_KeyDown
環境 VS2003 Win2003
0377デフォルトの名無しさん
2006/11/17(金) 18:59:14仕様です。
0378デフォルトの名無しさん
2006/11/17(金) 19:19:55一度終了したThreadに対して普通に再びStart()メソッドを呼ぶとThreadStateExceptionが飛んできます…。
0379デフォルトの名無しさん
2006/11/17(金) 19:31:480380デフォルトの名無しさん
2006/11/17(金) 19:44:500381デフォルトの名無しさん
2006/11/17(金) 19:46:370382デフォルトの名無しさん
2006/11/17(金) 19:49:53用途にもよるがBackgroundWorkerやその他のThreadPoolを使いなされ。
0383デフォルトの名無しさん
2006/11/17(金) 19:50:07while ( ! 死に時?) {
合図があるまで待つ;
お仕事;
}
■ このスレッドは過去ログ倉庫に格納されています