5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ふらっとC#,C♯,C#(初心者用) Part58

1 :デフォルトの名無しさん:2010/04/08(木) 01:28:55
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっとC#,C♯,C#(初心者用) Part57
http://pc12.2ch.net/test/read.cgi/tech/1269018938/


■関連スレ
C#, C♯, C#相談室 Part58
http://pc12.2ch.net/test/read.cgi/tech/1269261310/

VB.NET質問スレ(Part33)
http://pc12.2ch.net/test/read.cgi/tech/1263738929/


■備考
コードの量が多い場合は下記サイトを使うなどしたほうがいいかも

http://codepad.org/

コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。

2 :デフォルトの名無しさん:2010/04/08(木) 01:43:56
次期バージョンって稟議書どうやって書こうかな、
みんなはどの時点で移行するの?
まだまだ2005が現役?

3 :デフォルトの名無しさん:2010/04/08(木) 02:31:35
>>1
C++/CLIはくだすれになった

くだすれC++/CLI(初心者用)part2
http://pc12.2ch.net/test/read.cgi/tech/1268613679/

あと、オンラインコンパイラはこっちならC#にも対応
http://ideone.com/

4 :デフォルトの名無しさん:2010/04/08(木) 04:30:57
ちょっと質問してもいいかな?

5 :デフォルトの名無しさん:2010/04/08(木) 07:11:50
3サイズは禁則事項です

6 :デフォルトの名無しさん:2010/04/08(木) 09:21:10
普段よくやる手作業を自動化するツールをいくつか作ったんだが
ぐぐればもっと性能のいいツールが山ほどあっておれしょんぼり

7 :デフォルトの名無しさん:2010/04/08(木) 09:52:55
>>6
よければどんなツールか教えて欲しい。

8 :デフォルトの名無しさん:2010/04/08(木) 09:54:34
そこであきらめると、その程度だけどその先も面倒をみれば勉強になるし
化ける可能性もあるけどな

その程度と思うのが開発者にとってはマイナスかもね

9 :デフォルトの名無しさん:2010/04/08(木) 10:21:25
ちょっとした定型処理はスクリプト言語で書いちゃうな

10 :デフォルトの名無しさん:2010/04/08(木) 10:29:27
コメントの書式を揃えるとか、
インデントをきちんとつけるとか、
忙しいときに限って本質的じゃない部分が気になって
手作業で直し始めちゃうんだよな

11 :デフォルトの名無しさん:2010/04/08(木) 10:53:12
C#にsilverlightSDKをインストールしたけど
新しいプロジェクトにも参照にもそれらしいのが見当たりません


12 :デフォルトの名無しさん:2010/04/08(木) 11:02:43
>>7
最近プログラミング始めたからほんとしょぼいソフトばかり

・ファイルを削除するとそのファイルパスをリストに書き込む
・自動で書庫ファイルを展開し、指定の画質、解像度にエンコード後、書庫に圧縮する
・任意のフォルダを監視して自動で任意の画像形式変換
・空白によるAndやOr検索 対象はファイル、フォルダ、テキストコンテンツ
・2ちゃんから画像やログ収集、タイマー可
・書庫内も見れる画像ビュアー
・ウィンドウサイズ、場所を指定できるランチャ
・クリップボードを監視して文字列から単語を抜き出しリストに表示し、
単語をクリックするとファイル、ファイル内文字列から検索して表示
・フォルダ名を検索文字列として、指定したフォルダのファイルを自動仕分け
フォルダ名が固有名詞で多数ある場合、毎回設定する必要が無いから重宝する

こんな感じ

13 :デフォルトの名無しさん:2010/04/08(木) 11:07:19
VSで使いたいならVisual Studio 2008 SP1 用 Microsoft Silverlight 3 Toolsをインストールする。
SDKは上記に同梱されてるので不要。
ただしExpressの場合はVC#ではなくVisual Web Developperが必要なので注意。
それと今から始めるならVS2010RC+Silverlight4RCで先取りしたほうがいいかもしれない。
Silverlightに関しては古いバージョンを使う意味は全く無いからね。

14 :デフォルトの名無しさん:2010/04/08(木) 11:09:18
>>13
がびーん

15 :デフォルトの名無しさん:2010/04/08(木) 12:12:56
2008はSilverlightのXAMLデザイナが使えないからやめとけ
2010には最初からSilverlight3が入ってるし別途4もインストールできる

16 :デフォルトの名無しさん:2010/04/08(木) 12:38:25
Windows7のリソースモニターの機能をC#使って自作プログラムから利用することはできますか?

17 :デフォルトの名無しさん:2010/04/08(木) 12:50:16
>>16
http://dobon.net/vb/dotnet/system/readperformancecounter.html

18 :デフォルトの名無しさん:2010/04/08(木) 20:53:04
ジェネリック型について質問があります。
渡される型はInt32等の基本データ型のみという前提で
以下のコードのようなことをしたいのですが、
個別の型用にコードを書く以外に何かいい方法はありませんか?
ttp://ideone.com/lGbZv

19 :デフォルトの名無しさん:2010/04/08(木) 21:07:56
>>17
ありがとうございます

20 :デフォルトの名無しさん:2010/04/08(木) 22:15:39
string drivename = ((new DirectoryInfo(dir)).Root).Name;
こういう書き方しちゃったらまずいですか?

21 :デフォルトの名無しさん:2010/04/08(木) 22:41:42
まずい以前に、なぜPath.GetPathRoot使わないんだよ

22 :デフォルトの名無しさん:2010/04/08(木) 23:04:58
>>18
ジェネリックはやめてBuffer.BlockCopy使え

23 :デフォルトの名無しさん:2010/04/08(木) 23:06:28
くそおおおおおおおおおおおおおお
こんな便利なクラスあるの今まで(5年間)知らなかったくそおおお!!!
Path.GetFileNameWithoutExtension
これ表現するのにいちいちFileInfoしてSubstringで拡張子抜いてたおおおおお

24 :デフォルトの名無しさん:2010/04/08(木) 23:17:08
センスゼロだな死ね

25 :デフォルトの名無しさん:2010/04/08(木) 23:37:17
あるプロのコーディングにDataGridViewにDataSetをバインドしているものがあります。
そのソースでは、
BindingSourceであるDataSetのの1行を消したあとに、
SuspendBinding命令があり、
直後に
ResumeBinding命令を書いていました。

なぜSuspendBindingとResumeBindingを続けて記述するのでしょうか?

26 :デフォルトの名無しさん:2010/04/09(金) 00:22:31
ヘッダがあるから

27 :デフォルトの名無しさん:2010/04/09(金) 01:38:38
コマンドラインでファイルを渡す時
ファイルのパスが長いと通らないみたいなのですが
コマンドラインでパスを送る場合は特別な処理が必要なのでしょうか?

28 :デフォルトの名無しさん:2010/04/09(金) 01:53:15
OSの制限だから気を揉むのを止めるべき

29 :デフォルトの名無しさん:2010/04/09(金) 02:14:26
>>26
すみません、ヘッダとSuspendBindingはどのようなつながりがあるのでしょうか?

30 :デフォルトの名無しさん:2010/04/09(金) 11:16:16
C#で作るWebアプリってのは
javaのようなクライアント側アプリが基本でしょうか?
PHPみたいなサーバー側アプリってのも簡単に出来ますか?

31 :デフォルトの名無しさん:2010/04/09(金) 11:23:17
作るのは簡単
動く環境を用意するのがめんどい

ASP.NETが動く貸し鯖を知らない
誰か教えろ

32 :デフォルトの名無しさん:2010/04/09(金) 11:37:26
>>31
ぐぐれチンカス

33 :デフォルトの名無しさん:2010/04/09(金) 11:41:41
>>30
そもそも、Javaもサーバー側で使われてるぞ。

C# はどのレイヤーのフレームワークもそろってる。
サーバー側なら ASP.NET、
クライアントなら、WPF なり Silverlight なり。

>>31
http://www.microsoft.com/japan/msdn/nextweb/hosting/default.aspx

34 :デフォルトの名無しさん:2010/04/09(金) 11:46:46
Java「も」っていうかサーバー側のが多いだろ

35 :デフォルトの名無しさん:2010/04/09(金) 11:50:10
Javaはクライアント側では成功しなかったよね
アプレットとかもあたけどさw

今残ってるのはアプレットが流行った時代に量産された
エロ系ゲームくらいかw
ダウンロードソフトはJavaのやつ使ってるくらいだな

36 :デフォルトの名無しさん:2010/04/09(金) 12:01:16
SQLserverがどうしてもインストール出来ないんでもうあきらめるとして
2008expressでデータベースを使うのはどれがいいですか?
ひょっとしてLINQだけで充分?
イメージ的にLINQってオンメモリで使えるという感じなのだが・・・・

37 :デフォルトの名無しさん:2010/04/09(金) 12:03:16
雰囲気だけでいいならsqliteでも使えば

38 :デフォルトの名無しさん:2010/04/09(金) 12:14:11
JREは一般ユーザに嫌われるからな
.NETの比じゃない

39 :デフォルトの名無しさん:2010/04/09(金) 12:15:55
ただ言語その物はアンドロイドの開発で少し戻るのかね?
コードその物はJavaでかけるんでしょ?

40 :デフォルトの名無しさん:2010/04/09(金) 12:19:43
AndroidはHTML5+JavaScriptを優先していってJavaやネイティブは無くす方向だろ

41 :デフォルトの名無しさん:2010/04/09(金) 12:22:04
そうなのかね?
というかネイティブ用の開発にJavaが使えるってなかったっけ?
あくまでコーディングに使ってるだけで実際のところはコンパイルの
過程で変換掛けてネイティブにしちゃうらしいけど

42 :デフォルトの名無しさん:2010/04/09(金) 12:36:10
Googleは将来的にはなんでもかんでもウェブアプリにシフトさせようという方向なんだよ
Androidでネイティブアプリ使えるのはつなぎ

43 :デフォルトの名無しさん:2010/04/09(金) 12:37:30
>>42
それは困るなあw
広告収益でなんとでもなるグーグルは自社のサービスに貢献するだろから
コード丸見えのhtml5やjsでもいいだろうけどさw

44 :デフォルトの名無しさん:2010/04/09(金) 12:53:10
>>41
GCC

45 :デフォルトの名無しさん:2010/04/09(金) 14:38:28
>>29
ですが、どなたか教えてください…。

46 :デフォルトの名無しさん:2010/04/09(金) 16:44:00
・間違えてる
・消し忘れ
・たまたま適当にいじったらうまくいった

47 :デフォルトの名無しさん:2010/04/09(金) 18:02:20
試しにSuspendBindingとResumeBindingをコメントアウトして実行してみて、
それでうまく動くようなら>>46の通り消し忘れなんじゃない?
動かないならResumeBindingを呼んでバインディングを即時反映したいのかなという気がした。
本当に即時反映されるのかどうかは試してないけど。

48 :デフォルトの名無しさん:2010/04/09(金) 18:47:03
C#でスタートボタンを押してスタートメニューを開くにはどうしたらいいでしょう?
ふだんタスクバーを隠しているのですが、たまにスタートメニューが必要なことがあるので、C#からスタートメニューを開きたいと思いました。


49 :デフォルトの名無しさん:2010/04/09(金) 19:13:41
>>48
メニューの中の項目をexplorerで開けばいいじゃない

50 :デフォルトの名無しさん:2010/04/09(金) 19:32:33
>>49
個々に開くことはできるのですが、メニューをたどった方がなれている場合もあるのと、全機能を実装するのもめんどうなので、スタートメニューをと考えています。
SendKeys.SendWait("^{ESC}");
としてみたのですが、これではだめでした。
普通だと、タスクバーの部分に近づけると、隠していてもタスクバーが開くので問題がないのですが、キーボードレスのマシンでの運用のため、一度タスクバーを隠してしまうと、手も足もでない状態になってしまいます。
スタートボタンって、Explorerのどこかのファイルなんですか?
よろしくアドバイスお願いします。


51 :デフォルトの名無しさん:2010/04/09(金) 19:34:03
>>50
メニューはウインドウズマークだろ
あとSendKeysってざっくりとしたキー送信しかできないし
SSとったりする場合は結構失敗するようないい加減なものだぞw

52 :デフォルトの名無しさん:2010/04/09(金) 19:38:27
>>51
Ctrl+ESCであってるだろwバカ

53 :デフォルトの名無しさん:2010/04/09(金) 19:40:50
>>52
うんまあ^がきになったけどSendKeys=糞と思ってるので気にしなかったw
すまんすまんw

ちょっと昔作ったソース探してくるわ
多分APIを呼ばないとまともに操作できなかったはず

54 :デフォルトの名無しさん:2010/04/09(金) 19:42:14
お前が糞じゃん

55 :デフォルトの名無しさん:2010/04/09(金) 19:45:12
やっぱuser32.dll使ってkeybd_eventで処理してたわ

56 :デフォルトの名無しさん:2010/04/09(金) 19:52:41
>>53、55
ありがたい。
具体的に、よろしくお願いします。


57 :デフォルトの名無しさん:2010/04/09(金) 20:04:12
>>56
ざっくり抜き出してきたので後は自分で改造してくれ
class SendKeyCode
{
    [DllImport("user32.dll")]
    public static extern uint keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);
    const byte VK_SHIFT = 0x10;
    const byte VK_CONTROL = 0x11;
    const byte VK_MENU    = 0x12;
    const byte VK_LWIN    = 0x5B;
    const byte VK_RWIN    = 0x5C;
    const byte VK_APPS    = 0x5D;
    public void Sendkey(byte Code)
    {
        #region 特殊キーダウン処理
        keybd_event(VK_SHIFT , 0, 0, (UIntPtr)0);
        keybd_event(VK_CONTROL, 0, 0, (UIntPtr)0);
        keybd_event(VK_MENU, 0, 0, (UIntPtr)0);
        keybd_event(VK_LWIN, 0, 0, (UIntPtr)0);
        #endregion

        keybd_event(Code, 0, 0, (UIntPtr)0);
        keybd_event(Code, 0, 2/*KEYEVENTF_KEYUP*/, (UIntPtr)0);

        #region 特殊キーアップ処理
        keybd_event(VK_SHIFT , 0, 2, (UIntPtr)0);
        keybd_event(VK_CONTROL, 0, 2, (UIntPtr)0);
        keybd_event(VK_MENU, 0, 2, (UIntPtr)0);
        keybd_event(VK_LWIN, 0, 2, (UIntPtr)0);
        #endregion
    }
}

58 :デフォルトの名無しさん:2010/04/09(金) 20:06:34
>>56
ハンドル取れよハゲ

59 :デフォルトの名無しさん:2010/04/09(金) 20:24:22
>>57
SendKeys.SendWait("^{ESC}");
の代わりに
Sendkey(VK_CONTROL + "{ESC}");
としてみるだけじゃだめですよね?


60 :デフォルトの名無しさん:2010/04/09(金) 20:28:00
>>59
さあw

俺が調べたときは3つくらい方法があったけどその中で>>57選んだからなあ
というかこれだけヒント出したのに後は自力でなんとかできるだ

俺なんてふらっとかもう一つのスレで冷たくされて自分で調べたぞw

61 :デフォルトの名無しさん:2010/04/09(金) 20:31:40
>>60
俺のスパルタが実を結んだようだな

62 :デフォルトの名無しさん:2010/04/09(金) 20:34:18
>>61
あとはIME関連の操作がわかればなあ・・・あれが完成するんだが

63 :デフォルトの名無しさん:2010/04/09(金) 20:40:44
>>62
じゃあ死ねば

64 :デフォルトの名無しさん:2010/04/09(金) 20:41:46
>>60
そこで出し惜しみしなくても。
どーんと出すのがふらっとだと。


65 :デフォルトの名無しさん:2010/04/09(金) 20:44:15
ttp://tsushima.2ch.at/s/news2ch56990.png

66 :デフォルトの名無しさん:2010/04/09(金) 22:20:57
>>60
当たり前だろC#と関係ないんだから
W32APIスレにでもいけよって話

67 :デフォルトの名無しさん:2010/04/09(金) 23:11:59
アルファベットの全数をファイルに書き出すにはどうすればいいですか?
a,b,c,d,e....ab,ac,ad,ae....のような感じです。
ググっても数字の全数はあるのですが、アルファベットの全数はありませんでした。

やり方や参考になるサイトがあれば教えてください。

68 :デフォルトの名無しさん:2010/04/09(金) 23:13:01
何桁まで続ける気だよ

69 :デフォルトの名無しさん:2010/04/09(金) 23:17:51
>>67
数字ってのは10進数だろ?それを'z'-'a'進数に変えればいいだけだ
もう難しく考えるな

70 :デフォルトの名無しさん:2010/04/09(金) 23:19:02
すさまじい数が書き出されるような

71 :デフォルトの名無しさん:2010/04/09(金) 23:26:21
C#でiPadアプリ開発、MonoTouch 2.0登場
ttp://journal.mycom.co.jp/news/2010/04/09/071/index.html

72 :デフォルトの名無しさん:2010/04/09(金) 23:27:59
>>71
いらっしゃい
プログラミング出来る人って脳味噌の構造がちょっと違う気がする 数学好きとか多いし
http://tsushima.2ch.net/test/read.cgi/news/1270816107/

でもこっちの影響でそれも使えなくなる可能性が
Flash→iPhoneアプリ変換のFlashCS5発表から半年 ついに発売まで1週間。胸があ→Apple「させるか馬鹿」
http://tsushima.2ch.net/test/read.cgi/news/1270806476/

73 :デフォルトの名無しさん:2010/04/09(金) 23:28:56
>>71
FlashとまとめてAppleに禁止にされたよ

74 :デフォルトの名無しさん:2010/04/09(金) 23:31:21
つまり…どういうことだってばよ……?

75 :デフォルトの名無しさん:2010/04/09(金) 23:37:26
さすがアップルだ
クズめw

76 :デフォルトの名無しさん:2010/04/09(金) 23:58:18
MSだったら独禁法違反で制裁金課せられてたな。

77 :デフォルトの名無しさん:2010/04/10(土) 00:02:15
MSは迎合するし妥協するしw
ある意味情けなくもある

78 :デフォルトの名無しさん:2010/04/10(土) 00:45:41
>>60
やっと自己解決しました。
すげ〜時間がかかってしまいました。
keybd_event(Code, 0, 0, (UIntPtr)0);
keybd_event(Code, 0, 2/*KEYEVENTF_KEYUP*/, (UIntPtr)0);
のCodeに、かなを入れたりすると、五十音キーボードを作れますか?
「あ」はなにになるんでしょう?

あと、五十音キーボードをつくったら、メモ帳とかに入力したいと思いますが、このFormがアクティブだと、メモ帳には入力できないと思いますけど、そこはどう指定するんでしょうか?


79 :デフォルトの名無しさん:2010/04/10(土) 01:02:41
>>78
作れるよ
といか>>65のフリック入力用のプログラム作ったから教えれるわけで・・・
眠いので詳しいことはまたおきてからかな

ヒントとしては
・ローマ字入力モードで出すならaのキーコードを送る
・かな入力モードならテンキーじゃない方の3を送る

ここまでは余裕なんだがソフト側からIMEの状態をモニターしてIME起動したり
モード切替したりがうまくいかなくて>>65は未完なんだよな・・・

手動でIME起動しておけば問題なくコード拾うんだが

80 :デフォルトの名無しさん:2010/04/10(土) 01:03:48
>あと、五十音キーボードをつくったら、メモ帳とかに入力したいと思いますが、
>このFormがアクティブだと、メモ帳には入力できないと思いますけど、そこはどう指定するんでしょうか?
この辺もまた起きたらね・・・

81 :デフォルトの名無しさん:2010/04/10(土) 06:30:02
この辺もまた起きたらね・・・

(∪´ω`)ご主人様・・・今までありがとうお・・・
http://tsushima.2ch.net/test/read.cgi/news/1270786997/
「パトラッシュ、僕はもうねむいよ・・」と二度と起きてこなかった>>79でした

82 :デフォルトの名無しさん:2010/04/10(土) 10:33:37
JAVAで作成できる業務アプリケーションは、大抵、大して変わらない労力でC#でも実現できるものなのですか?
プログラム講習を受けたけどピンときません。

83 :デフォルトの名無しさん:2010/04/10(土) 12:02:36
ヤッテミレバイイジャナーイ

84 :デフォルトの名無しさん:2010/04/10(土) 12:57:29
>>79
とりあえず、Windowsのキーコード一覧は調べました。
シンボリック定数名 10進数の値 16進数の値 キーの説明
VK_A 65 0x41 Aキー
とか

かな入力モードなので、QWERTYで「あ」の「3」を入れればよい、ということですね。つまり、
keybd_event((byte)Keys.VK_3, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.VK_3, 0, 2, (UIntPtr)0);
ってことですか。

これだとQWERTYでシフトケースにある「ょ」とかを入れるときにめんどうそうなので、Unicodeのコードを直接というほうがよさそう。
「あ」だと3042なんでしょうか。
確かめたいけど、スタートボタンと違って、まずはこれを文字として表示する部分がないと、表示もできない。
textbox.text = keybd_event((byte)Keys.VK_3, 0, 0, (UIntPtr)0);
とかでいいんですか?


85 :デフォルトの名無しさん:2010/04/10(土) 13:00:29
>>84
自分の作ってるプログラムにとりあえずテキストボックス貼って
そこへキーコードが飛んでくるか確認すればいいんじゃね?

86 :デフォルトの名無しさん:2010/04/10(土) 13:35:08
>>85
それを試そうと思ったんですけど、ボタンを押すと、テキストボックスにフォーカスがなくなってしまうので、確認できないのです。
ちなみに、
keybd_event((byte)Keys.VK_3, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.VK_3, 0, 2, (UIntPtr)0);
ではだめで、
keybd_event(51, 0, 0, (UIntPtr)0);
keybd_event(51, 0, 2, (UIntPtr)0);
で試してます。


87 :デフォルトの名無しさん:2010/04/10(土) 13:37:07
ボタンのクリックイベントの先頭で文字コードを受けたいtextboxあたりを
アクティブにしたあとでコード送信すればいいだけかと・・・

88 :デフォルトの名無しさん:2010/04/10(土) 13:39:57
もうあきらめろよ。

89 :デフォルトの名無しさん:2010/04/10(土) 13:58:33
>>87
アクティブにするのってなんだっけ? と悩んでいて、activeを調べてました。
Focus()ですね。
textBox.Focus();
keybd_event(51, 0, 0, (UIntPtr)0);
keybd_event(51, 0, 2, (UIntPtr)0);
で、3がはいりました。
なぜ「あ」でなくて「3」なのかは不明ですが、とりあえず一歩。
でも入ったり入らなかったりしてますが…。

とりあえず確認はできるようになったので、最低限、文字入力して確認はできそう。
他のウィンドウに入力できれば、ソフトウェアキーボードの第一歩くらいにはなりそうです。
ってところで、他のウィンドウ部分をアドバイス乞う。


90 :デフォルトの名無しさん:2010/04/10(土) 14:03:33
>>89
3のキーが押されてあを出すのはIMEだよ
ただ単にあを出すのでいいならあの文字コードを送ればいいけど
それじゃあ意味無いでしょ?

それができる状態になったらIMEをひらがな入力モードにしてから
同じことをやってみ

91 :デフォルトの名無しさん:2010/04/10(土) 14:39:33
C#/.NETの部分だけ抜き出して質問してくれ

92 :デフォルトの名無しさん:2010/04/10(土) 15:33:38
>>90
すこしわかってきたかも。
とりあえず、
textBox.Focus();
keybd_event((byte)Keys.IMEModeChange, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.IMEModeChange, 0, 2, (UIntPtr)0);
keybd_event((byte)Keys.T, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.T, 0, 2, (UIntPtr)0);
keybd_event((byte)Keys.O, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.O, 0, 2, (UIntPtr)0);
keybd_event((byte)Keys.R, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.R, 0, 2, (UIntPtr)0);
keybd_event((byte)Keys.I, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.I, 0, 2, (UIntPtr)0);
keybd_event((byte)Keys.A, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.A, 0, 2, (UIntPtr)0);
keybd_event((byte)Keys.E, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.E, 0, 2, (UIntPtr)0);
keybd_event((byte)Keys.Z, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.Z, 0, 2, (UIntPtr)0);
keybd_event((byte)Keys.U, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.U, 0, 2, (UIntPtr)0);
keybd_event((byte)Keys.IMEConvert, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.IMEConvert, 0, 2, (UIntPtr)0);
keybd_event((byte)Keys.Enter, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.Enter, 0, 2, (UIntPtr)0);
で、文字入力できことはわかりました。
疑問点(1)IMEのオンはIMEModeChangeでオーケー?
疑問点(2)先の他のアプリケーションに書く件。


93 :デフォルトの名無しさん:2010/04/10(土) 15:47:12
>>92
2chに貼るの面倒なんでブログに書かせてもらった
http://cs2ch.blogspot.com/2010/04/blog-post_10.html

94 :デフォルトの名無しさん:2010/04/10(土) 15:55:18
>疑問点(1)IMEのオンはIMEModeChangeでオーケー?
これはだめじゃないかな?
IMEModeChangeでキーコードを送ってIMEのモードが変わっても
IMEがどのモードになったかわからないはず

95 :デフォルトの名無しさん:2010/04/10(土) 16:20:57
(2)のほうは、これからこちらのblog拝読してみます。
(1)ですが、もしIMEの状態を取得できないとしたら、(できると書いてあるWebページもあったんですけど、できるというだけで具体的にこうするという方法は見つけられずにいます)、かりに内部的に、テキストボックスをひとつつくって、

keybd_event((byte)Keys.A, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.A, 0, 2, (UIntPtr)0);
keybd_event((byte)Keys.Enter, 0, 0, (UIntPtr)0);
keybd_event((byte)Keys.Enter, 0, 2, (UIntPtr)0);

と入力して、
if (textbox.text == "a") アルファベットモード
else if (textbox.text == "あ") IMEモード
とかって判定する、というのではどうでしょうね?
ぜんぜんスマートでない実装というのはわかっていますが。

あと、もし可能でしたら、プロジェクトごと見せていただけないでしょうか。ほんとに初心者で…。


96 :デフォルトの名無しさん:2010/04/10(土) 16:25:12
>>95
自分のFormだと
        private void Form1_Load(object sender, EventArgs e)
        {
            //最前面に表示するように設定
            this.TopMost = true;
            this.Text = textBox1.ImeMode.ToString();
            
        }
こうやればIMEモードは読み出しできるけど所詮はtextboxだけの話なんだよね
まあ自分のアプリ用のスクリーンキーボードで完結するのであればこれでもいいんだが

実際のところwindows標準のスクリーンキーボードと同等の物を作るには
APIを駆使しないと多分無理

97 :デフォルトの名無しさん:2010/04/10(土) 16:26:28
textBox1.Text += "AAA\n";  とやっても改行されず
AAAAAAAAAAA・・・・・となります

98 :デフォルトの名無しさん:2010/04/10(土) 16:31:25
textBox1.Text += "AAA\n";



textBox1.Text += "AAA" + Environment.NewLine;

ウインドウズは\r\nじゃなかったっけ?

99 :デフォルトの名無しさん:2010/04/10(土) 16:33:37
>>98

おぉ \r\nでうまくいきました
改行 \でhelp検索しても全然出て来ないhelpに絶望した

100 :デフォルトの名無しさん:2010/04/10(土) 16:38:22
>>95
プロジェクト全体っていうかブログので全部だよ

101 :デフォルトの名無しさん:2010/04/10(土) 19:41:58
データベースエクスプローラからテーブル作成すると、テーブルとテーブルアダプターが最初っから
くっついて作成されるが、列のプロパティが少なくてショボい。
データソースのデザイナーからデータセットのコントロールでテーブルを作成すると、テーブルしか出来ないが
列のプロパティが多い。が、作っても形になるだけで機能しない。
ローカルDBだからbinフォルダにコピーされてるはずなのに元のファイルを移動させると見失って機能しない。

なんなのこれ?データベースとデータソースとどう関連してんの?


102 :デフォルトの名無しさん:2010/04/11(日) 16:27:03
WindowsFormアプリケーションを作成しています。(VS2008)
その際に、ある既成のアプリケーションを参考にしているのですが、
そのメインフォーム(EntryForm)のLoadイベントとして

private void EntryForm_Load(object sender, EventArgs e)
{
Timer.Enabled = true;
}

とあり、TimerのTickイベントに

private void Timer_Tick(object sender, EventArgs e)
{
loadTimer.Enabled = false;
… 処理群A(コントロールの表示非表示の判定やデータセットのバインド等の処理)
}

と記載されています。(TimerのIntervalプロパティ = 100)

@
このTimerはどのような目的で利用されているのでしょうか。
100ミリ秒を待って、処理群Aを実行する理由が分かりません。
A
100ミリ秒等の秒数は、どのような基準で考慮するのが望ましいでしょうか。

よろしくお願いします。



103 :デフォルトの名無しさん:2010/04/11(日) 16:30:30
まさにこのネタ前スレか前々スレにあった気がする

104 :デフォルトの名無しさん:2010/04/11(日) 16:31:58
>>102
作った人に聞いて
ソース公開できるなら見て判断できるけどさ
そんな断片的じゃあわからんよ

105 :デフォルトの名無しさん:2010/04/11(日) 16:57:51
>>103
>>104
さん、ありがとうございます。
前々スレを見ましたが、時計を表示させる場合に、Load時にTimerイベントを走らせるみたいですが、
参考にしているソースは、Timerイベント内に
・ボタンの表示非表示の判断、
・変数の設定
・テキストデータのデータセットへの取り込み
しかしておらず、リアルタイムで時計を更新したりはしていません。
全フォームのLoad時に一律Timerイベントを書いています。
ググると、フォームやフォーム上のコントロール描写が終わる頃まで待った方がいい場合があり、
100ミリ秒とか時間を稼ぐ場合があると見たことがあります。

このソースの作成者と連絡がつかなくなってしまったので、質問しました
(-_-;)。

106 :デフォルトの名無しさん:2010/04/11(日) 16:59:49
Labelの表示を変更したときにApplication.DoEventsを書くのはなぜですか?
Application.DoEventsでググったけど、説明がいまいち分からないっす。

107 :デフォルトの名無しさん:2010/04/11(日) 17:05:42
>>106
listboxとかlistviewを貼り付けて動的にアイテムを10000くらい追加するコードを書いて
その追加するループ内でApplication.DoEventsを呼んだ場合と呼ばなかった場合で
どう違うか見てみるといいよ

108 :デフォルトの名無しさん:2010/04/11(日) 17:28:40
>>105
処理群Aに時間ががかるから、先にフォームを表示したかったんだろうな(もしくは予防)
どっちにしても表示前(表示中)に固まるか表示後に固まるかの違いだから設計としては論外

どちらかというと、悪い部類の例だからあまり気にしない方がいい

>>106
Windowsのメッセージ処理に関係する話しだからその辺はググれ
keywords: メッセージキュー、メッセージループ、メッセージポンプ

で、Application.DoEventsがソースに出てきたらほぼ間違いなく悪い設計と考えてよい
設計ができないのか、放棄しているのかは分からないが、まともに設計すれば使う機会はまずない

109 :デフォルトの名無しさん:2010/04/11(日) 17:31:05
>>106
まあ90%以上の確率で、単に書いた奴が無能なだけ。
Application.DoEvents()なんか普通はまず使わない。

110 :デフォルトの名無しさん:2010/04/11(日) 17:32:34
手抜きだとよく使うなw

適当アプリにまでわざわざちゃんと書くの?

111 :デフォルトの名無しさん:2010/04/11(日) 17:36:26
どう違うの?

112 :デフォルトの名無しさん:2010/04/11(日) 17:39:18
pictureboxに戻り値が何もないので
読み込める画像なのかそうでないのかわからない

解像度で判断しようと思ってloadの下にそういうのを書き込んだんだけど
tryでくくっているわけでもないのにすっとばされた
なにこれ?

113 :デフォルトの名無しさん:2010/04/11(日) 17:41:18
>>106
labelの反応が遅いんだよな
おれはupdateを使って更新させるけど
ものすごく処理が遅くなる

114 :デフォルトの名無しさん:2010/04/11(日) 17:45:55
>>108
フォームを呼び出すと同時に大量読込やLISTの大量追加を行う場合などは、
どのようにするのが適切なの?
Application.DoEvents、
Timer
らを使わずにはどうすればいいんだろ。

115 :デフォルトの名無しさん:2010/04/11(日) 17:52:16
>>114
108じゃないけど。

バインドしてもいいし、AddRangeしてもいいし、BeginUpdate...EndUpdate
使ってもいい。

っていうか、それApplication.DoEvents()使って解決するのかと。

116 :デフォルトの名無しさん:2010/04/11(日) 17:58:07
>>115
お前のやり方でも何も解決しないな

117 :デフォルトの名無しさん:2010/04/11(日) 18:01:08
>>114
一つ一つAddしていくと遅いのでAddRangeで一度に突っ込むとかいろいろあるよ

>115
AddRangeで突っ込むデータ作るのだって項目数がちょっと多くなれば
とまったようになるぞ

さあどう解決する?w

手抜きの時はそのまんまだな

118 :デフォルトの名無しさん:2010/04/11(日) 18:14:37
>>116-117
お馬鹿さん?

119 :デフォルトの名無しさん:2010/04/11(日) 18:16:13
>>118
否定はいくらでもできるよ
対策方法聞かれてるんだから案を出したれ

人を馬鹿にするのは小学生でもできる

120 :108:2010/04/11(日) 18:22:35
>>114
> フォームを呼び出すと同時に大量読込
UIスレッド以外で処理して、処理が完了したらInvokeやバインディングでUIに反映させる
その間、触られると困るコントロール、メニュー、ツールバーがあるなら初期状態でEnabled=falseにでもしておく

> LISTの大量追加
データバインディングを使う
データはビューから分離し、INotifyPropertyChangedやBindingListを利用して変更時に通知が行くようにする
あとはUIスレッド以外でデータを更新すれば、UIの方で勝手に変更通知を拾ってうまいことやってくれる

総括として、両方に共通するのはUIスレッドで処理を実行しないということ

121 :デフォルトの名無しさん:2010/04/11(日) 18:29:09
>>119
その自分を棚上げして平気な性格って精神病か何かなんじゃないのマジで。
言っちゃ悪いが狂ってるよお宅。

案は出してるだろう。
AddRange的な手法でもパフォーマンスに不満がでるような場合は
仮想モードを使うことになるんだろうが、そこまで想定して答えるべき文脈とも思えないが。

122 :デフォルトの名無しさん:2010/04/11(日) 18:30:42
ID無いとめんどくせーな

123 :デフォルトの名無しさん:2010/04/11(日) 18:31:38
>>122
言っちゃ悪いが狂ってるよお宅。

124 :デフォルトの名無しさん:2010/04/11(日) 18:34:01
嫌なら鳥つけてしゃべれ

125 :デフォルトの名無しさん:2010/04/11(日) 18:34:55
>>123
言っちゃ悪いが狂ってるよお宅。

126 :デフォルトの名無しさん:2010/04/11(日) 18:35:58
不動産鑑定士の登場

127 :デフォルトの名無しさん:2010/04/11(日) 18:37:18
>>126
うーん
床が斜めになってますねえ

128 :デフォルトの名無しさん:2010/04/11(日) 18:43:56
>>120
お前がアホだってことは分かった。

>>121
お前は基地外だな。


129 :デフォルトの名無しさん:2010/04/11(日) 18:46:40
バインドしてUI以外で更新て、それやったらだめだよ。
バインディングは勝手にスレッドの調整なんてやってくれないから。
こんなでたらめを偉そうに書いて、恥ずかしい奴だな。


130 :デフォルトの名無しさん:2010/04/11(日) 18:50:49
AddRangeで解決するようなレベルは本質的な問題じゃないな。
現実に、例えばDBとかネットワーク通したりして初期データとか取ってくるのに、
場合によってはトータル数秒以上かかるような場合に、
どうするのがよいかって話がいいな。


131 :デフォルトの名無しさん:2010/04/11(日) 18:51:55
面倒くさいのでダイアログ出して「アップデート中ですで?%」って表示して待たせる

132 :デフォルトの名無しさん:2010/04/11(日) 18:54:11
あと、最初のTimerの話は、処理によってはフォームが表示されてからでないと
できない場合があるからだと思うよ。
多分Shownですむ気はするし、俺はTimerとかは使わんけど、
Timerでやってるのは多分それが目的なんだろう。


133 :デフォルトの名無しさん:2010/04/11(日) 18:59:22
まあ、そんなに長時間かからないなら、ダイアログ出すのも簡単な方法だよね。
ダイアログ出すなら、Load内のがいいな、人によって意見は違うだろうけど。

ところで固まるのがフォーム表示前か後かどっちにしても同じってのは分かるけど、
業務アプリなんかだと、場合によっては客の意向で、
時間かかるならフォーム表示してからにしてくれって言われることもあったりするな。


134 :デフォルトの名無しさん:2010/04/11(日) 19:01:36
固まったとき原因不明だから理不尽さを感じるんだお
スプラッシュでも出しとけ

135 :デフォルトの名無しさん:2010/04/11(日) 19:05:30
初期データがバラバラに複数ある、例えばコンボボックスの初期化で、
それが一画面にたくさんあるとかなら、
コンボボックスのデータは画面表示後に非同期でとってくるなどの手はあるが、
こういうのって実装めんどいんだよね。
趣味アプリならやる気もでるが、仕事なら手抜きで無難にすませたくなるわ。
実際に作ったりメンテするのが自分じゃないことが多いしな。


136 :デフォルトの名無しさん:2010/04/11(日) 19:41:03
>>126
不動産鑑定士がC#?

137 :デフォルトの名無しさん:2010/04/11(日) 19:42:50
流れを変えようとぼけたのにマジ突っ込みするのもいるしwww

138 :デフォルトの名無しさん:2010/04/11(日) 21:03:09
WindowsFormアプリケーション(.Net3.5)の中で、
@ DataGridViewにDataSetをバインド。(レコード数約100件)
A Formを呼び出したときに、@の100件の内の特定の10行のみ表示させたい。
だけど、
Formを呼び出したとき、一瞬全件(100件)が表示され、そのあとにフィルタが発動するんです。

データセットをバインドしているときに、
最初から表示させる行を絞るには皆さんどうされていますか?

139 :デフォルトの名無しさん:2010/04/11(日) 21:07:21
Formのどのイベントでバインドしてるの?

140 :デフォルトの名無しさん:2010/04/11(日) 21:16:47
>>139
Timerイベントです。>>102さんと同じ使い方をしていて、FormLoad時にTimer.Enabled = Trueにしています。
そしてTimer.Tickイベント内でBindingSourceを指定してます。

141 :デフォルトの名無しさん:2010/04/11(日) 21:25:32
Form_LoadでTimer_Tickの処理をかけばいけるよ

142 :デフォルトの名無しさん:2010/04/11(日) 21:31:36
>>141
ありがとうございます。
Form_Loadのイベントの中で、Timer_Tickイベントを呼ぶのですか?

143 :デフォルトの名無しさん:2010/04/11(日) 21:35:09
なんでそうなるのん…


144 :デフォルトの名無しさん:2010/04/11(日) 21:37:31
なるべく晒せる範囲のソースコードを晒してソースメインで会話しようぜ・・・

回答もらう方も自分の晒せる範囲のコード晒してずばりの修正コード見た方がすっきりするだろ

145 :デフォルトの名無しさん:2010/04/11(日) 21:38:17
ところで、WindowsFormsのBeginInvokeって、優先度を指定できないのがやや残念なんだよな。
WPFだと細かく(細かすぎって話もある)制御できるんだけどな。

あとあれだ、後で実行したらいいって処理をBeginInvokeしてから、
すぐに(同期的に)実行したい処理をInvokeしたら、
BeginInvokeの処理が先に走ってしまうとかな。


146 :デフォルトの名無しさん:2010/04/11(日) 21:53:50
>>143
このような現状です。
Timer_Tickイベント内で、DataSet1内のDataTable1をバインドしています。

private void Form1_Load(object sender, EventArgs e)
{
Timer.Enabled = true;
}

private void Timer_Tick(object sender, EventArgs e)
{
loadTimer.Enabled = false;
DataGridView1.BindingSuorce = BindingSource1;
BindingSource1.DataSource = DataSet1;
BindingSource1.DataMenber = "Table1"; ※100件ほどあり。
BindingSource1.Filter = "(Filter文) ※ある条件を満たす10件ほどを抽出"
}

この場合に、FormをLoadしたとき一瞬、100件ほどがチラっと表示され、
すぐ後に、10件に絞られます。
このチラツキをどう防ぐべきか悩んでいます。
よろしくお願いします。

147 :デフォルトの名無しさん:2010/04/11(日) 21:56:23
>>145
普通の人はFIFO的に振舞うことを期待するわけで、
むしろそんなスタックだかなんだか訳のわかんない動作を
期待する人なんているのかしら。

148 :デフォルトの名無しさん:2010/04/11(日) 21:57:13
WPFを勉強しようと思ってるんだけど、おすすめのサイトか書籍ある?

149 :デフォルトの名無しさん:2010/04/11(日) 22:07:37
>>146
BeginUpdateとかないんだな

API使う方法もあるみたいだがそういうの無しで考えると超手抜きとして
DataGridView1とまったく同じDataGridView2を用意してこいつを
表に見せておいてDataGridView1にデータを入れて終わったら
DataGridView1を前に持ってくるとかw

150 :デフォルトの名無しさん:2010/04/11(日) 22:09:44
private void Form_Load(object sender, EventArgs e)
{
DataGridView1.BindingSuorce = BindingSource1;
BindingSource1.DataSource = DataSet1;
BindingSource1.DataMenber = "Table1"; ※100件ほどあり。
BindingSource1.Filter = "(Filter文) ※ある条件を満たす10件ほどを抽出"
}

151 :デフォルトの名無しさん:2010/04/11(日) 22:12:55
つうかよ、Filterを先に設定することはできないの?
なんかエラーになったっけ?
まあLoadでやればいいとは思うんだけど。


152 :デフォルトの名無しさん:2010/04/11(日) 22:16:48
>>147
は?
非同期が同期より先に同期的に実行されることを期待するようなやつがいるのかよ。
コントロールのBeginInvokeはWindowsのメッセージ的な処理に近い使い方をするからな、
優先度が指定できても別におかしいことはない、なんでWPFではできるようになってると思う?

非同期が同期よりも先に同期的に実行されるってのははっきりいって落とし穴。


153 :デフォルトの名無しさん:2010/04/11(日) 22:35:17
>>152
なんか勘違いしてるみたいだけど、ISynchronizeInvoke.BeginInvokeが「非同期的に」実行される
っていうときの「非同期」っていうのは、当たり前だけどBeginInvokeを実行してる
スレッドの視点での話しであって、UIスレッド上では(同一のスレッドだから当たり前だけど)
全ての処理は同期的に実行されるんだよ。

もちろんキューに入っている順番で。
そのあたり変な理解してない?

154 :デフォルトの名無しさん:2010/04/11(日) 23:06:11
んなこた分かっとる、てかだからこそ、InvokeとBeginInvokeの関係が直感と違うことになる。
だからこの辺直感通りに動く方がうれしいし、BeginInvokeでは優先度を指定できればなおいいって言ってる。


155 :デフォルトの名無しさん:2010/04/11(日) 23:08:40
ここでいう非同期ってのは、スレッド観点ではもちろん実行される順番の違いにすぎないけども、
一般にBeginInvokeはこの場で同期的に処理したくないから使う。
なのにそのあとInvokeしたときに、Invoke前に同期的に実行されるのは困ると言ってる。


156 :デフォルトの名無しさん:2010/04/11(日) 23:40:33
キューのアイテムが同期的に実行されると分かってたら、
「優先度」なんて訳の分からないこと言わないと思うけど。

キューの先頭にぶち込むメソッドがあってもいいよな、って話ならわかりもするけど

157 :デフォルトの名無しさん:2010/04/11(日) 23:49:45
WPFを例に出してるんだから意味くらい分かるだろ。
ttp://msdn.microsoft.com/ja-jp/library/ms591206.aspx

ああ、MSがわけわからないことしてると言いたいのか。


158 :デフォルトの名無しさん:2010/04/11(日) 23:55:06
ともかく、WPFでできるようなことができるとうれしいってのと、
Invoke時に先に全てのBeginInvokeで保留されてる処理が実行されるのが困る
ってことが言いたいの。


159 :デフォルトの名無しさん:2010/04/11(日) 23:58:06
うーん。
ひょっとしてFIFOとかキューとか言われるものが何なのかわかってないのかなw

160 :デフォルトの名無しさん:2010/04/11(日) 23:59:57
WinFormsのBinginInvokeも優先度が指定できると便利だと思うけど無い物は仕方ないだろ。
議論するだけ時間の無駄

161 :デフォルトの名無しさん:2010/04/12(月) 00:03:37
WPFさん家の子になりなさい

162 :デフォルトの名無しさん:2010/04/12(月) 00:03:38
さっきから何を言ってるの>>159は?

WPFみたいな事が出来るとうれしいって書いてて、
WPFでは言ってることが実現されてるってのが事実なのに、
なんで>>159とかみたいになるわけ?

あと、言っとくがFIFOなんてのは単にキューの一例にすぎん。
優先度付きキューとかあるだろ。

まあ、ここで言いたいのはキューだから無理とかFIFOだから無理とか、
そういう話じゃなくて、WPFみたいにできればいい、それだけのことだ。
内部で優先度付きキューに入れるなり、Winsowメッセージの使い方を変えるなり、
内部実装をどうするかは関係ない。
ともかくWPFみたいにできてほしい、それだけのこと。

まあないものは仕方ないよ、できたら嬉しいのにって書いただけ。
やたら突っ込んでくる馬鹿が悪い。


163 :デフォルトの名無しさん:2010/04/12(月) 00:04:20
>>162
…お前もうるさいから黙ってろ

164 :デフォルトの名無しさん:2010/04/12(月) 00:04:52
日記帳に書いてろバカ。

165 :デフォルトの名無しさん:2010/04/12(月) 00:06:03
>>155
BeginInvokeをキューへの追加、Invokeをキューを迂回した実行と考えるからおかしくなる。

x.Invoke(...) は x.EndInvoke(x.BeginInvoke(...)) と等しいと考えれば
直感的な動作だよ。

あと、WPFは例としてはわかりにくいだろう

Action act1 = delegate { Debug.WriteLine("1"); };
Action act2 = delegate { Debug.WriteLine("2"); };

Dispatcher.BeginInvoke(act1, DispatcherPriority.Background, null);
Debug.WriteLine("A");
Dispatcher.Invoke(act2, DispatcherPriority.Background, null);

こういう事もできるんだから

166 :デフォルトの名無しさん:2010/04/12(月) 00:06:15
>キューの一例

むしろFIFOじゃなきゃキューとは言わんだろぉ…
優先度付ってのは分かるが、さらっとあほな事を

167 :デフォルトの名無しさん:2010/04/12(月) 00:08:10
("A");

話の経過があまりにもあれでコードに今の気持ちを書き込んだのかと思ったw

168 :デフォルトの名無しさん:2010/04/12(月) 00:13:06
ああ、単にキューって言ったらFIFOだな。
悪い悪い。
ともかく言いたいことはキューだからどうという話じゃない。

>>165
言いたいことはわかるけど、普通に優先度ある方がうれしいって俺は思うんだよ。
要らない、分かりにくいってだけなら、じゃなんで後発のWPFではできるようにしたんだ?


169 :デフォルトの名無しさん:2010/04/12(月) 00:16:12
後発だからだろ
C言語にクラスが無いのはおかしいって思う人なのかな

170 :デフォルトの名無しさん:2010/04/12(月) 00:17:36
アホなの?
あればよかったのにって言ってるだけだろう。

おかしな例を出すんじゃない。


171 :デフォルトの名無しさん:2010/04/12(月) 00:17:55
WinFormsとWPFが同等じゃないのはおかしいと思う人の間違いだろ。
どっちにしろおかしい人なのは間違いないがな。

172 :デフォルトの名無しさん:2010/04/12(月) 00:18:37
>>170
よかったね








これで満足か?オイ

173 :デフォルトの名無しさん:2010/04/12(月) 00:19:11
>>170
独り言は日記帳に書いてろって言ってんだろ

174 :デフォルトの名無しさん:2010/04/12(月) 00:19:34
>後発だからだろ
後発でそうなったってことは、その方がより望ましい、あるいは必要と考えられたからだろ。
Cにクラスとかそういう話じゃない。
WPFもWindowFormsもスレッドモデルとしては近いんだから、
最初から同じような機能があればうれしかった、そう言ってるだけだろう。


175 :デフォルトの名無しさん:2010/04/12(月) 00:20:38
>>171
だれもそんなこと書いてないね。
自演かよ。


176 :デフォルトの名無しさん:2010/04/12(月) 00:21:06
WPFは最初からあったわけじゃないんだけど

177 :デフォルトの名無しさん:2010/04/12(月) 00:21:26
つまり
「WindowsFormsでもWPFみたいになってたらうれしかったのに」
って思うのはオカシイと言いたいんだな?



178 :デフォルトの名無しさん:2010/04/12(月) 00:22:20
つか現状で満足できないならヘジにでも文句つけて来いよ。
ウザイからここで愚痴るな。

179 :デフォルトの名無しさん:2010/04/12(月) 00:22:29
なんなら自分でそういう機能を実装したISynchronizeInvokeの代替オブジェクトを
作るとかね。

実現可能性については正直俺はよくわかりません。
まあ、できないことはないんだよね多分。

180 :デフォルトの名無しさん:2010/04/12(月) 00:23:11
そもそも最初の話は>>145なわけで



181 :デフォルトの名無しさん:2010/04/12(月) 00:23:35
ここはオレ思想を主張するスレじゃないのだが…

182 :デフォルトの名無しさん:2010/04/12(月) 00:24:12
>>168
> 要らない、分かりにくいってだけなら、じゃなんで後発のWPFではできるようにしたんだ?
DispatcherPriorityのメンバを見れば想像が付くだろ・・・

少なくとも、おまえの言う直感的でない動作を防ぐ為ではないことは確か。
もしそうなら、InvokeにSend以外の優先度が指定できなくなってるハズ。

183 :デフォルトの名無しさん:2010/04/12(月) 00:24:29
>>145に「そうですかよかったね」で流せばよかったのに妙に絡むからだぞ。まったく。

184 :デフォルトの名無しさん:2010/04/12(月) 00:25:47
>>145
これだけの内容にいちいちつっかかっていったやつがおかしい
俺思想を主張してるのはそっちだね

185 :デフォルトの名無しさん:2010/04/12(月) 00:26:07
んで、何がどうすればこの話終わ(ってくれ)るの?
終了条件を明示して下さい
僕が実行しますから

186 :デフォルトの名無しさん:2010/04/12(月) 00:26:35
>>145
そうですかよかったね

187 :デフォルトの名無しさん:2010/04/12(月) 00:26:44
>>145
そうですかよかったね

188 :デフォルトの名無しさん:2010/04/12(月) 00:26:46
>>145
そうですかよかったね

189 :デフォルトの名無しさん:2010/04/12(月) 00:26:50
>>145
そうですかよかったね

190 :デフォルトの名無しさん:2010/04/12(月) 00:26:53
>>145
そうですかよかったね

191 :デフォルトの名無しさん:2010/04/12(月) 00:27:32
>>182
それって優先度がつけられるようになったから、
同期的かどうかという観点と、処理の順序という観点がわけられるようになったヵらだろ。
優先度がない状態じゃInvokeとBeginInvokeでの観点で話すしかないじゃん。


192 :デフォルトの名無しさん:2010/04/12(月) 00:28:19
アホ丸出しでつっかからなければいいだけじゃね?


193 :デフォルトの名無しさん:2010/04/12(月) 00:30:05
先に”キュー”で辞書引いてから来てねボク?

194 :デフォルトの名無しさん:2010/04/12(月) 00:30:49
自演で煽ってる奴はいいかげん黙れ

195 :デフォルトの名無しさん:2010/04/12(月) 00:31:34
”つけられるようになった”ってことは元々そういう機能がなくても不自然ではないような。

まぁ、目的地が見えないのは確かだなこの議論。
単に同意を得たかっただけに見える。

196 :デフォルトの名無しさん:2010/04/12(月) 00:32:00
つまんねーな。
>>193
こういう奴がほんとにつまらん


197 :デフォルトの名無しさん:2010/04/12(月) 00:32:36
まあまあ落ち着こうぜ
もう寝ろ

198 :デフォルトの名無しさん:2010/04/12(月) 00:32:41
おめーのオナニー主張が一番つまんねーと悟れや。

199 :デフォルトの名無しさん:2010/04/12(月) 00:33:09
最初から「微妙に残念」って言ってるだけだな
おかしいとも不自然とも言ってない
絡んだやつが馬鹿


200 :デフォルトの名無しさん:2010/04/12(月) 00:33:30
>>198
ここまででコレが一番ツマラン

201 :デフォルトの名無しさん:2010/04/12(月) 00:33:41
>>200

202 :デフォルトの名無しさん:2010/04/12(月) 00:33:50
「微妙に残念」

「やや残念」
だった、それだけ


203 :デフォルトの名無しさん:2010/04/12(月) 00:34:22
>>193
弁髪

204 :デフォルトの名無しさん:2010/04/12(月) 00:34:36
このスレって、今の動きがやや残念って書いただけで
こんなことになるんだなw


205 :デフォルトの名無しさん:2010/04/12(月) 00:36:13
むしろ燃え上がったのは>>147>>152が原因のようなw

206 :デフォルトの名無しさん:2010/04/12(月) 00:37:08
>>204
みんな疲れてるんだよ

207 :デフォルトの名無しさん:2010/04/12(月) 00:37:56
来週そういえば試験だなー(棒読み)

208 :デフォルトの名無しさん:2010/04/12(月) 00:40:04
147の俺としては別に絡んだつもりも煽るようなことを言ったつもりも言いたいつもりも
ないんだけど、少なくとも

>>145
>すぐに(同期的に)実行したい処理をInvokeしたら、
>BeginInvokeの処理が先に走ってしまうとかな。

とか
>>152
>非同期が同期よりも先に同期的に実行されるってのははっきりいって落とし穴。

とかいうのを読む限り、>>145がISynchronize.BeginInvoke()について
おかしな誤解をしていたのは確かなような気がする。

落とし穴かなこれ。
もの凄く自然で直感的な仕様だよねむしろ。

209 :デフォルトの名無しさん:2010/04/12(月) 00:40:57
Invokeの実行順なんて期待するものじゃないと思うけどねぇ…
あくまで優先度であって実行順じゃないしね。
ある意味どっちもナンセンスなような。

210 :デフォルトの名無しさん:2010/04/12(月) 00:42:40
「普通」っていう言葉が良くなかったと思われるww
変人と面と向かって言われたら熱くなるわなww

211 :デフォルトの名無しさん:2010/04/12(月) 00:45:54
>>208
誤解してるってのは違うんじゃないの?
実装上仕方ない動きってのは分かるよ。
More Effective C# でも出てる話題だったんじゃなかったかな。


212 :デフォルトの名無しさん:2010/04/12(月) 00:46:13
お前等寝ろ


C#製のテトリスでもやって気をそらせ
http://www1.axfc.net/uploader/Sc/so/102265.zip

213 :デフォルトの名無しさん:2010/04/12(月) 00:48:05
それと、.NET一般ではBeginなんとかは非同期、そうじゃないのは同期という分け方で、
同期を呼び出すと非同期が先に走るってのはUI系の特殊な動作。
だから、.NET一般の動きと比べて落とし穴になるってのは別に分かる話。
もちろん観点が違うだからそこで一般的な動きをしないのは仕方ない事ではあるけど。


214 :デフォルトの名無しさん:2010/04/12(月) 00:51:17
>>212
どうやってミノ回すんだよ

215 :デフォルトの名無しさん:2010/04/12(月) 00:52:43
>>214
↑ 回転
←→ 左右移動
↓ 下移動

マウス右クリック アプリ終了

216 :デフォルトの名無しさん:2010/04/12(月) 00:54:43
だってさあ、同期・非同期っていったってそれはデリゲートをキューにぶち込む操作を
同期的に行うか否かって話であって、キューにぶち込んでるのに後からぶち込んだのが
先に実行されないのが「落とし穴だ」って言う感覚、普通理解できる?

俺にはちょっと意味わかんないよ。

217 :デフォルトの名無しさん:2010/04/12(月) 01:00:28
心なしか棒が多いような

218 :デフォルトの名無しさん:2010/04/12(月) 02:03:36
>>216
WPFを例に出してるんだから別に言いたいことは普通に理解できる。

>だってさあ、同期・非同期っていったってそれはデリゲートをキューにぶち込む操作を
>同期的に行うか否かって話であって、
おいこらw


219 :デフォルトの名無しさん:2010/04/12(月) 02:09:11
フルHDテトリスやったばっかりだからテトリスはしばらく見たくないわ…

220 :デフォルトの名無しさん:2010/04/12(月) 02:11:54
的外れもしくは論点そらしもしくはイメージ誘導
>>147
>>156
>>159
>>169
>>171
>>193
>>216



221 :デフォルトの名無しさん:2010/04/12(月) 02:12:55
だってさあ、同期・非同期っていったってそれはデリゲートをキューにぶち込む操作を
同期的に行うか否かって話であって、

それはない


222 :デフォルトの名無しさん:2010/04/12(月) 02:21:39
落とし穴ってのは、
BeginInvokeとInvokeが普通にPostMessageとSendMessageのように
動いてほしいってことだろ?
メソッドはいかにもそういう感じの構造になってるんだから、
違和感を感じるのもおかしくはないんじゃないの?


223 :デフォルトの名無しさん:2010/04/12(月) 02:24:37
まだやってんのか

224 :デフォルトの名無しさん:2010/04/12(月) 02:30:36
単なる思い込みだろ
ディスパッチするだけの役割であって実行順なんかMSDNでも触れてないがな

225 :デフォルトの名無しさん:2010/04/12(月) 14:10:38
http://codepad.org/eHEwc1HQ
このコードでエラー
角かっこ [] 付きインデックスを 'System.Windows.Forms.NumericUpDown' 型の式に適用することはできません
と出るのですがなぜいけないのかがわかりません
どうしてエラーになるのでしょうか


226 :デフォルトの名無しさん:2010/04/12(月) 14:13:07
numericUpDown1[0,0]

こんな指定できたっけ?

227 :デフォルトの名無しさん:2010/04/12(月) 14:15:16
左辺をnumsと間違えてるだろ
どんだけ慌ててんだよ

228 :デフォルトの名無しさん:2010/04/12(月) 14:20:05
補間されちゃってそういう風になることあるなw

229 :デフォルトの名無しさん:2010/04/12(月) 14:21:22
なんか和んだ

230 :デフォルトの名無しさん:2010/04/12(月) 14:47:01
質問とは関係ないが new int() には何の意味が?

231 :デフォルトの名無しさん:2010/04/12(月) 14:49:32
ほんとだw

int単体だとnew いらんぞw

232 :デフォルトの名無しさん:2010/04/12(月) 16:09:08
Xml にシリアル化する時に引数なしのコンストラクタ無いと困るから・・・ ?

233 :デフォルトの名無しさん:2010/04/12(月) 16:13:31
コンストラクタが存在することと、それ使うことは別問題。
というか、組み込み型のシリアライズの心配なんかしなくてもいいですって。

234 :デフォルトの名無しさん:2010/04/12(月) 16:14:42
>>232
シリアライズは特に気にする必要なかったと思うけど

235 :デフォルトの名無しさん:2010/04/12(月) 18:19:07
var list = new[] {
new { Name = "糸色望", CV = "神谷浩史" },
new { Name = "風浦可符香", CV = "野中藍" },
};
var list2 = new[] {
new { Name = "大草麻菜実", CV = "井上喜久子" },
new { Name = "加賀愛", CV = "後藤沙緒里" },
new { Name = "木津千里", CV = "井上麻里奈" },
};

var 名=
from p in list.Concat(list2)
select p.Name;
だと連結されて出力されますが、連結じゃなく
list2をlistに統合させちゃうのはどうすればいいですか?
list.Addとかなさそうですので・・・・

236 :デフォルトの名無しさん:2010/04/12(月) 18:24:33
list.AddRange(list2);

237 :デフォルトの名無しさん:2010/04/12(月) 18:25:37
ああすまん
配列か
再確保しかねーんじゃね?

238 :デフォルトの名無しさん:2010/04/12(月) 18:54:04
list = list/* 省略 */.ToArray()でいいだろ

239 :デフォルトの名無しさん:2010/04/12(月) 19:07:13
肝心なところ省略すんなw
list = list.Concat(list2).ToArray();

結局再確保しているし無駄な変換なような気もするけど、
そんなことを気にする時代でもあるまい。

240 :デフォルトの名無しさん:2010/04/12(月) 19:19:48
ちょっとはきにしろばか

241 :デフォルトの名無しさん:2010/04/12(月) 19:29:22
100万回呼ぶなら気にした方がいいんじゃない

242 :デフォルトの名無しさん:2010/04/12(月) 19:33:44
パフォーマンスを気にしなきゃいけない場面なら、元のデータの格納方法から
考えなおさなきゃダメだろ。

243 :235:2010/04/12(月) 19:35:20
普通に1行ずつ加えていくのも無理ですか?再確保はやはりきつそう・・・

244 :デフォルトの名無しさん:2010/04/12(月) 19:36:28
>>220
ずらしてないでしょ。
しかし、このスレってキューが何かすら分かってない奴が結構いるんだな。

まあ初心者スレだからそんなもんかも知れないけど、知らないことを頬かむりして
得意げに「お前は分かってない」とか言うのはなんだかなあ。

245 :デフォルトの名無しさん:2010/04/12(月) 19:36:46
小さな効率のことは忘れ、時間の97%について語ろう。時期尚早な最適化は諸悪の根源だ…

246 :デフォルトの名無しさん:2010/04/12(月) 19:37:10
>>243
配列じゃなくリストとかアレイとかにするしかないんじゃない?
配列は増減には向いてないから

247 :デフォルトの名無しさん:2010/04/12(月) 19:38:19
これが気になるパフォーマンスって何だよ
80年代のパソコンでも使ってるの?

248 :デフォルトの名無しさん:2010/04/12(月) 19:38:33
>>242
配列っぽく使いたいし、構造体っぽく使いたいし
LINKで楽にデータ読みたいんです
いい方法ありますか?
ちなみにSQLserverとか外部データベースまでは不要です

249 :デフォルトの名無しさん:2010/04/12(月) 19:40:04
>>248
先にList<T>で駄目な理由を言え

250 :デフォルトの名無しさん:2010/04/12(月) 19:40:37
>>243
そもそも元が配列なのだから、Add出来ないのは当然でしょ。
new[]{}じゃなくてnew List<T>{}で、ベースをListにすればいい。
匿名型ではList作れないというならば、推論出来るようなヘルパー関数を作ればいい。

251 :デフォルトの名無しさん:2010/04/12(月) 19:50:43
結構前にこのやり取り見たな

252 :デフォルトの名無しさん:2010/04/12(月) 19:51:30
>>246
class hoge 
{
public string Name;
public string CV;
}

List<hoge> hoge = new List<hoge> {
new { Name = "糸色望", CV = "神谷浩史" },
new { Name = "風浦可符香", CV = "野中藍" },
};

これでやればAdd使える?

253 :デフォルトの名無しさん:2010/04/12(月) 19:53:01
そこまで聞かないと分からんのか

254 :デフォルトの名無しさん:2010/04/12(月) 19:53:25
>>252
死ね

255 :デフォルトの名無しさん:2010/04/12(月) 20:09:25
var list = (new[]{ new { Name = "タラヲ", Msg = "氏ね" },
new { Name = ">>252", Msg = "死ね" }}).ToList();

俺はやらないけど、無理やり匿名型使うならこうか?
252みたいにクラス使うなら

http://ideone.com/wnKXL

256 :デフォルトの名無しさん:2010/04/12(月) 20:23:48
run codeのチェックは外せよ

257 :デフォルトの名無しさん:2010/04/12(月) 20:29:39
>>244
>しかし、このスレってキューが何かすら分かってない奴が結構いるんだな。
いないだろどう見ても。

>まあ初心者スレだからそんなもんかも知れないけど、知らないことを頬かむりして
>得意げに「お前は分かってない」とか言うのはなんだかなあ。
キューを知らないっていくらなんでもそんな素人のやり取りじゃなかっただろどう見ても。
だから論点そらしてるとか言われるんじゃないの?


258 :デフォルトの名無しさん:2010/04/12(月) 20:45:47
C#っていちいちnewが余計だよな
クエリ式の仮引数も余計

259 :デフォルトの名無しさん:2010/04/12(月) 20:47:49
そうかw
newなんてほとんどかかねえしw

260 :デフォルトの名無しさん:2010/04/12(月) 21:02:53
>>244
もっと高度な話ならともかく、キューを知らないとかってレベルに持って行くのはさすがに白々しいわ。

そもそも今回話に出てくるキューの実態はWindowメッセージのメッセージキューで、
キューと言われるけど挿入位置や動作は色々変わってくるわけだ。
最初から実態はそういうキューの話だ。

InvokeやBeginInvokeも内部ではメッセージキューへの操作だが、
たまたま実装がどちらもPost操作になってるから順番通りになるわけで、
SendとPostで実装されれば話は変わってくるだろ?

WPFのキューが内部でどうなってるのかは知らないが、
機能としては優先度を付けた操作ができるようになってるわけだ。

それと同じことができたら嬉しいって言っただけで、なんでキューを理解してないとか、
あらぬ方向に話を持って行こうとするわけ?白々しい。
それが話そらしてるって言ってるの。

何度も言ってるが、そもそも最初から、キューだからどうとかそんな話はどうでもいいんだ。
既に実現されてるWPFと同じようなことができたら嬉しいというだけの、それだけのことの何がおかしい?

まあまた話をそらすかもしれんが、もはや白々しいとしか思わん。


261 :デフォルトの名無しさん:2010/04/12(月) 21:04:02
3行以上書く奴は総じてキチガイ

262 :デフォルトの名無しさん:2010/04/12(月) 21:05:15
「白々しい」を3回以上書く奴は総じてキチガイ

263 :デフォルトの名無しさん:2010/04/12(月) 21:12:29
白くなれ

264 :デフォルトの名無しさん:2010/04/12(月) 21:13:44
キチガイだらけじゃねーか


265 :デフォルトの名無しさん:2010/04/12(月) 22:04:59
>>260
君が本人だとしたら、いい加減みっともないよ。
本人じゃないとしたら、>>152を読んでそれ言ってるの?

キューに入った処理が順番に処理されるのが「落とし穴」ってどんな発想だよ。
ちゃんと理解してるのならありえない。

266 :デフォルトの名無しさん:2010/04/12(月) 23:10:40
>>213ってことだよ

メッセージキューのPostMessage使ってることも知ってるのに、何をどう理解してないと思うわけ?

だいたいInvokeやBeginInvokeがキューに入るなんてのは説明には書かれてないんじゃなかったっけ?
同期と非同期の話が書かれてるだけで。
キューだからって当たり前って、おまえが勝手に言い出したことだろ?
キューだなんて書かれてないんだが(実際のとこはメッセージキューなのは分かってる)。

それにWindowsならもともとSendとPostがあって、InvokeとBeginInvokeはいかにも
そういう操作に見えるんだから、

ま落とし穴はちょっと極端な表現だったかも知れんが、
非同期と書かれてる操作が、同期よりも先に同期的に動く
という動き自体は、UIだけの特殊な動きで普通と違う。
そしてBeginInvokeとInvokeの説明にはキューを使うなど書かれていない。
だからUIだけの特殊な動作を、勘違いする可能性がある、くらいでもいいわ。

まあ、どっちにしたところでキューを理解してないなんてあほな話にはならない。

お前こそいい加減に>>216の言い訳を書いてみろよ。


267 :デフォルトの名無しさん:2010/04/12(月) 23:13:12
そうやって何が何でもキューを理解してないなんて話に持って行くのが
話そらしてるって言ってんだよ。
キューなんてアホでも知ってるだろうよ。


268 :デフォルトの名無しさん:2010/04/12(月) 23:14:00
玉を突っつくやつだろ?

269 :デフォルトの名無しさん:2010/04/12(月) 23:18:46
ああ、それと、落とし穴って言っただけでその動きが理解できないとか
なんでそのように動くのか分からないとか、そんなこと言った覚えはないぞ。

PostMesssage使ってるからそう動くってのは分かってるが、
感覚的にはSendMessageのように動いてほしいと期待してしまうってだけだ。
あるいは他のBegin系のような動きを期待してしまうってこと。
普通ならこれで言いたいことは理解できるはずだろ。

お前は何が何でもキューが分からないことにしたいみたいだが。


270 :デフォルトの名無しさん:2010/04/12(月) 23:24:52
>>268
その通り
データ構造のキューの語源は玉突きのキュー

271 :デフォルトの名無しさん:2010/04/12(月) 23:27:54
そんでお前が何度もキューだから当たり前とかFIFOだから当たり前とか言ってる、
そのキューの実態はメッセージキューで、こいつはFIFOじゃない動きもするわけだが。
お前はどう考えてるんだ?

・FIFOじゃないからキューじゃないんだ
・キューだから絶対にFIFOだ
・FIFOじゃないキューもあるさ

どれかくらいしかないが、どれだとしても偉そうなお前が言ってることとどこかが矛盾してくるんだが。


272 :デフォルトの名無しさん:2010/04/12(月) 23:31:18
おっと、
・キューだから絶対にFIFOだ
はお前の言ってることとは矛盾しないが、メッセージキューの実態と矛盾する。


273 :デフォルトの名無しさん:2010/04/12(月) 23:32:26
Windowsの場合WM_PAINTは後回しにされたりするからな
FIFOではないな

274 :デフォルトの名無しさん:2010/04/12(月) 23:33:00
・FIFOじゃないからキューじゃないんだ
お前の言ってることが根本から矛盾する、だってキューじゃないってことになるから。

・FIFOじゃないキューもあるさ
だったらお前がキューだから当たり前って言ってることが当たり前ではなくなる。

どうしたってお前の言ってることは矛盾してるんだよ。


275 :デフォルトの名無しさん:2010/04/12(月) 23:34:28
キュー専用スレでやってくれ

276 :デフォルトの名無しさん:2010/04/12(月) 23:43:35
相談室でやれ
ここは(初心者用)だ

277 :デフォルトの名無しさん:2010/04/12(月) 23:53:59
>>266
なんでそんなに何にも分かってないのに上から目線なんだろう。
しかもお前呼ばわり?

まあいいが、「UIだけの特殊な動作」ってこれまた意味がわからんよ。
それ何を根拠にそんなこと言ってるの?
メッセージ云々も一切関係ない。

何度も言うように、キューに突っ込まれたデリゲートが
順番に実行されるだけの話で、どこもにUIの特殊事情なんか入り込む余地ないんだけど。

それから君は、これも何度も言うように「同期」、「非同期」って意味も変に誤解してるよ。

同期(ISynchronize.Invoke())って意味は、それを実行したスレッドの動作が、
キューに突っ込まれたデリゲートがUIスレッドで全部実行されるまで待機させられるって意味でしょ。

非同期の場合はブロックされずにすぐに制御が変える。
ただそれだけの意味だよ。

278 :デフォルトの名無しさん:2010/04/12(月) 23:57:13
要は、「〜の実装は感覚的におかしい」とか言ってるけど、
悪いけど「おかしい」のはあんたの感覚の方ですよ、って話。

279 :デフォルトの名無しさん:2010/04/13(火) 00:20:26
ここで「おかしいおかしい」とわめいても現実は変わらないってことに気付いてください。

280 :デフォルトの名無しさん:2010/04/13(火) 00:24:02
いい年こいてどっちも引き下がらないとか…w
プログラムやってると精神年齢は成長しねえんだな。

281 :デフォルトの名無しさん:2010/04/13(火) 00:35:57
邪魔だから本当に死ねばいいのに

282 :デフォルトの名無しさん:2010/04/13(火) 00:52:42
完全に二人の世界に入っちゃって恋人同士のようだよ。

283 :デフォルトの名無しさん:2010/04/13(火) 03:16:09
>>277
>なんでそんなに何にも分かってないのに上から目線なんだろう。
またごまかしか、何も分かってないことにするのね。

>まあいいが、「UIだけの特殊な動作」ってこれまた意味がわからんよ。
>それ何を根拠にそんなこと言ってるの?
根拠もなにも、事実他のBegin〜系は、対となる同期操作とは無関係。
Begin〜の処理が、そのあと実行した同期操作より先に同期的に実行されるなどというルールはないね。

>メッセージ云々も一切関係ない。
何と何が関係ないの?意味不明。

>何度も言うように、キューに突っ込まれたデリゲートが
>順番に実行されるだけの話で、どこもにUIの特殊事情なんか入り込む余地ないんだけど。
どこにそんなことが書いてあるの?
UI以外のBegin〜系は非同期操作と同期操作にそんなルールはないね、UIだけが特殊だ。

>それから君は、これも何度も言うように「同期」、「非同期」って意味も変に誤解してるよ。
してないよ、非同期と同期には、完了まで待たない、完了して戻る、という意味しかない、それ以上の意味などない。
そっちこそ、非同期と同期という言葉に変なルールを勝手に加えてるね。

>同期(ISynchronize.Invoke())って意味は、それを実行したスレッドの動作が、
>キューに突っ込まれたデリゲートがUIスレッドで全部実行されるまで待機させられるって意味でしょ。
どこにもキューに積まれるなんて書いてないね。
まあ非同期操作がキューに積まれるのは普通の感覚(あくまで感覚であってどこにもそうだとは書いてないが)だけど、
同期操作が同じキューに積まれるなんて決まりはどこにもないね。

>非同期の場合はブロックされずにすぐに制御が変える。
>ただそれだけの意味だよ。
そう、それだけの意味しかない。
同期操作も同じキューに積まれて、必ず順番に実行されるなんてルールは本来どこにもない。


284 :デフォルトの名無しさん:2010/04/13(火) 03:17:37

結局ほとんどあんたたが勝手に決め付けてるだけじゃないか。
何度も言うが、あんたが言ってるキューの実態はメッセージキューで、
必ずしもFIFOじゃない、偉そうにキューだから必ず順番になるって言ってること自体が元々根拠のない話。
現実にあんたが言ってるキューだから当たり前、ではない動きをしてるわけだよ。
あんたは全部無視してここには答える気はないみたいだが。


285 :デフォルトの名無しさん:2010/04/13(火) 03:22:25
>>277>>283
いいかげん黙れ屑野郎

286 :デフォルトの名無しさん:2010/04/13(火) 04:39:11
千秋の声で再生された

287 :デフォルトの名無しさん:2010/04/13(火) 08:20:25
まあどっちを自然に感じるかなんて人それぞれでかまわんが、
不自然あるいは他と一貫性がないってことを言ってるだけで、
キューすら分かってないとか何も分かってないとか言われる筋合いはないな。


288 :デフォルトの名無しさん:2010/04/13(火) 10:45:24
VB.NET質問スレで暴れてた奴と似てるな、というか同じだったりしてw
上から目線とか煽り方とかソックリ
白状しちゃいなYO!

289 :デフォルトの名無しさん:2010/04/13(火) 12:15:24
>>286
みなみけは好きだ

290 :デフォルトの名無しさん:2010/04/13(火) 12:19:40
終わった作品だな
おかわりは糞

291 :デフォルトの名無しさん:2010/04/13(火) 23:27:57
ですね

292 :デフォルトの名無しさん:2010/04/14(水) 10:35:52
OracleのおかげでJavaが衰退しそうだ
これからはC#の時代だな

293 :デフォルトの名無しさん:2010/04/14(水) 10:41:51
やっててよかったC#
あとはMac用バイナリとか出力できるクロスコンパイラとかでてくると最強になれるな

294 :デフォルトの名無しさん:2010/04/14(水) 10:43:58
Mono の AOT オプションは Mac 用バイナリはけないの?

295 :デフォルトの名無しさん:2010/04/14(水) 10:55:15
普通のアプリはネイティブである必要ないからね。Cocoaも使えるし。

296 :デフォルトの名無しさん:2010/04/14(水) 11:14:23
SilverlightのOOBでいいじゃん

297 :デフォルトの名無しさん:2010/04/14(水) 11:38:07
C#はほとんどの仕事に使えるけど、科学技術計算だけはだめだな
C++にかなわない
特にジャグ配列を使った時の速度低下がひどすぎる

しかしGUIデザイナは素晴らしいの一言
簡単なプログラムならすぐに完成する

298 :デフォルトの名無しさん:2010/04/14(水) 11:41:08
>>297
xmlシリアラザのプリコンパイルのようなのあればいいのにね
http://kah.s35.xrea.com/cs/cs_xml.htm#sgen

299 :デフォルトの名無しさん:2010/04/14(水) 11:48:21
でもC#のMSILへのコンパイルって元々馬鹿っ速じゃない?

300 :デフォルトの名無しさん:2010/04/14(水) 11:50:00
>>297
厳密にかなう必要あるの?
9割のスピードを2・3倍の生産性で作れれば十分価値あると思うけど。

GUI がらみは10倍以上生産性違うけど、数値計算でも数倍は行けると思う。
あと、純然たる数値計算であっても、気軽に GUI に結果出せるってのは価値あるし。
それを言うと、Matlab とか Mathematica 使えって話になるけど。

301 :デフォルトの名無しさん:2010/04/14(水) 11:51:45
>>299
違う違う、C++ が遅すぎるだけ。
あれと比べりゃ、最近の言語はどれも馬鹿っ速い。

あと、Visual Studio の場合はバックグラウンドで常時コンパイルしてるからね。
ビルドが一瞬なのはインクリメンタルにやってるからってのもある。

302 :デフォルトの名無しさん:2010/04/14(水) 11:52:30
sgenが吐くのは普通のマネージDLLだぞ
XmlSerializerは実行時にC#のコードを生成してコンパイルするという
荒業を使ってるのでどうしても遅くなる
最近はC#のコードを吐くんじゃなくて高速にILを吐けるLCGという機能を使うのが主流になっているので
(SilverlightのXmlSerializerやWCFなど)プリコンパイルはいらなくなってきた

303 :デフォルトの名無しさん:2010/04/14(水) 11:53:34
>>297
数値計算だったら、ジャグ配列でも多次元配列が多いだろ。それなら、Cでも配列の配列ではなく多次元配列のコードになる。だから、C#と速度で比べるなら、多次元配列。
それでも、C++、FORTRANの方が速度速いし、ライブラリも豊富で、安全である必要は低いので、C#を選ぶ理由はないんだけど。

304 :デフォルトの名無しさん:2010/04/14(水) 11:56:59
>>303
違う違う、君がC#を理解できないだけ。

305 :デフォルトの名無しさん:2010/04/14(水) 12:03:21
科学技術計算で速度が重要なら、FORTRANとC++の2択だろ。

306 :デフォルトの名無しさん:2010/04/14(水) 12:06:30
数値計算でジャグ配列使って遅いっていうのは>>303の言うとおりアホだろ
Cでも縦にアクセスしたら遅いわそんなもん

307 :デフォルトの名無しさん:2010/04/14(水) 12:08:57
ああ、なんで罵倒する方にいくかな・・・

折角いい感じで久々にスレが埋まると思ったのに・・・

308 :デフォルトの名無しさん:2010/04/14(水) 12:46:02
>>300
いや、ジャグ配列だけはポインタのポインタで実装されているので、
半分以下の速度になっちゃうよ

固定配列ならそこまで遅くならないけど

309 :デフォルトの名無しさん:2010/04/14(水) 12:53:27
CとC#の違いを知らずにコピペするからそうなる。

310 :デフォルトの名無しさん:2010/04/14(水) 12:58:30
まったく・・・私を見習いなさい

311 :デフォルトの名無しさん:2010/04/14(水) 13:09:51
C# 配列 遅い でググってみればわかる
大学の研究生とか助手がC#で計算させようとしてあまりの遅さに
閉口しているのがわかるから

312 :デフォルトの名無しさん:2010/04/14(水) 13:17:25
C#を否定できるネタじゃないな

313 :デフォルトの名無しさん:2010/04/14(水) 13:20:23
適材適所

そこまで効率化をいうなら部分的にC/C++で書いて
GUIだけC#とかにすればいいだけだし

DOS窓で動く計算だけするアプリをC#で書いたGUIから
起動してとかでもいいんだし

ということでこのネタはおしまい

俺が欲しいのは効率上げたいときは>>298のようなのすればいいよ〜っていう情報だけ
罵倒はいらん

314 :デフォルトの名無しさん:2010/04/14(水) 13:20:24
要素に連続でアクセスする場合は最適化されて速い
多次元配列ではその最適化が効かないのでジャグ配列の方が速くなったりする
完全にランダムなアクセスなら何使っても遅い

315 :デフォルトの名無しさん:2010/04/14(水) 13:23:24
JavaでOSを書こうっていう世迷言と何が違うのか分からん

316 :デフォルトの名無しさん:2010/04/14(水) 13:25:58
いやまあ万能解があるならそれに越したことはないじゃない?

317 :デフォルトの名無しさん:2010/04/14(水) 13:26:24
配列とか使わずArrayListを使えばおk

318 :デフォルトの名無しさん:2010/04/14(水) 13:27:58
>>316
まあいまさら部分的にC/C++とか書かなくていいならそれ
にこしたことはないけどねw

でもC/C++でGUIまで作れっていうんじゃないんだから
計算するコードくらい書けばいいじゃんって思うし

GC抱えてる言語だとどうしても管理レイヤーが
存在するので内部的に効率化をやってくれなければ
遅くなるのはある意味当たり前だし

319 :デフォルトの名無しさん:2010/04/14(水) 13:38:55
100x100の配列をジャグ配列にすると101個のオブジェクトができるが、多次元配列なら1個である。Cの場合、配列はプリミティブである。

320 :デフォルトの名無しさん:2010/04/14(水) 13:42:47
計算ってことはint、double、floatとかだよね

C#にも一応構造体あるけどあれを使うとどうなるんだろう

321 :デフォルトの名無しさん:2010/04/14(水) 13:42:52
また安い燃料でしょうもない議論するのか?

322 :デフォルトの名無しさん:2010/04/14(水) 13:43:49
初心者用らしくていいだろw

323 :デフォルトの名無しさん:2010/04/14(水) 13:47:41
C#で配列まわりで高速演算したいんだったら、Cと同じようにポインタを使うというのは基本テクニック。

324 :デフォルトの名無しさん:2010/04/14(水) 13:57:29
ジャグ配列(笑)
C#の不得意な部分を持ってきてCとかC++のほうがいいとかいう知ったかがくるとこうなる
CとかC++のスレで「記号プログラミングはCやC++じゃ生産性が悪いよねー」とか言い出すの?

>>323
1次元配列を用意して、自分で多次元配列として操作すればいいよ
可読性が落ちるけど

325 :デフォルトの名無しさん:2010/04/14(水) 14:06:02
foreachやfor (int i=0;i<array.Length;i++)の形の配列アクセスは
最適化が効くからポインタに変えても速くならないよ
stackalloc使えば速くなるかもしれんが

326 :デフォルトの名無しさん:2010/04/14(水) 14:36:36
かもしれんね

327 :デフォルトの名無しさん:2010/04/14(水) 14:40:41
プログラミングの素人がそんな面倒臭い事をいちいちやるかい

328 :デフォルトの名無しさん:2010/04/14(水) 14:43:17
でも、遅い、って文句は付けるんだよな

329 :デフォルトの名無しさん:2010/04/14(水) 14:47:08
そりゃそーだろ
計算は速度が命だ
時間が2倍かかって例えば4時間で済む所を8時間掛かったら
一日が終わってしまうだろーが

330 :デフォルトの名無しさん:2010/04/14(水) 14:49:32
その時間で別言語探せよ

331 :デフォルトの名無しさん:2010/04/14(水) 15:08:07
>>329
並列プログラミングしろw

332 :デフォルトの名無しさん:2010/04/14(水) 15:31:31
>>331
やってやろうじゃねーか

333 :デフォルトの名無しさん:2010/04/14(水) 15:44:28
C#って
for(int i=0;i<100;i++){}

int i=100;
while(i)
{
i--;
}
みたいにする最適化出来ないから困る

C++だとこれだけで結構差が出るよな

334 :デフォルトの名無しさん:2010/04/14(水) 15:49:36
>>333
それ処理が変わっちゃってるだめじゃん

335 :デフォルトの名無しさん:2010/04/14(水) 15:55:20
>>333
それが大差になるのは、ループの中が相当軽い処理の時だけだな。

336 :デフォルトの名無しさん:2010/04/14(水) 16:05:25
あとはnextリストをたどるループとかな
while( data )
{
data->〜〜〜〜
data = data->next;
}

337 :デフォルトの名無しさん:2010/04/14(水) 16:09:19
そりゃインデックスを増分すればいいだけの配列と
ポインターを辿るのでは違うだろうよ
でもそういうのってループが多くないと影響しないよな

338 :デフォルトの名無しさん:2010/04/14(水) 16:19:17
>>336
それのどこが差が出ると言いたいのかわからないけど、それが出てくるシナリオではそれ処理が重いことが普通だよな。

339 :デフォルトの名無しさん:2010/04/14(水) 16:37:48
しょうもない知ったか知識をひけらかして喜んでるやつって・・・

340 :デフォルトの名無しさん:2010/04/14(水) 16:40:28
そういう煽りはいらないって

まあ速度が気に食わないならベンチとってC/C++で書くなりすればいいだけだし

C/C++でバリバリ書いてた時代だって速度でねーとかなれば
インラインアセンブラでコード書いてたんだし

341 :デフォルトの名無しさん:2010/04/14(水) 16:42:16
ここはC#のスレなんでC/C++はどっかいけ

342 :デフォルトの名無しさん:2010/04/14(水) 16:44:08
    ヘ⌒ヽフ
   ( ・ω・) dd
   / ~つと)

343 :デフォルトの名無しさん:2010/04/14(水) 17:09:24
プロファイルとらずに可読性落としてまで最適化しようとする奴は邪魔なだけ。

344 :デフォルトの名無しさん:2010/04/14(水) 18:45:31
>>283
悪いけど本当パーだなあ。

>まあ非同期操作がキューに積まれるのは普通の感覚(あくまで感覚であってどこにもそうだとは書いてないが)だけど、
>同期操作が同じキューに積まれるなんて決まりはどこにもないね。
君スレッドの意味分かってる?w
BeginInvokeだろうがInvokeだろうが、突っ込んだデリゲートは同じUIスレッドで
実行されるんだけど、分かってる?

何度も言うように同期か非同期なんていうのはISynchronizeInvokeのメソッドを読んでる
スレッド上での差異であって、UIスレッドにとっては全く感知しない話なんだけど。

馬鹿じゃないの本当。

345 :デフォルトの名無しさん:2010/04/14(水) 18:46:15
他所でやれ

346 :デフォルトの名無しさん:2010/04/14(水) 19:36:59
そんな馬鹿をアピールせんでも…


347 :デフォルトの名無しさん:2010/04/14(水) 19:58:24
ListをDataGridViewにバインドさせたら
DataGridViewでソートかけたらListもソートかかりますか?

348 :デフォルトの名無しさん:2010/04/14(水) 19:59:51
ListViewとかDataGridとか似たのが沢山あってどれ使えばいいのかわからない

349 :デフォルトの名無しさん:2010/04/14(水) 20:00:04
>>347
掛けてみればいいじゃん

で別のコントロールなりにどうなってるかわかるように出力してみればいい

350 :デフォルトの名無しさん:2010/04/14(水) 20:12:23
世のアプリはろくにキーカスタマイズもできないのが多いのはなんでだ
って思ってたけど、実際に実装してみてすごくややこしいことに気づいた。
連日頭掻きすぎて抜け毛がやばい

351 :デフォルトの名無しさん:2010/04/14(水) 20:22:10
>>350
メインメニューのShortcutKeysをいじるだけだと思うけど。
そんなややこしいか?

352 :デフォルトの名無しさん:2010/04/14(水) 20:30:51
>>351
ああ、一般的にはそうなんだ。メインメニュー使わないから、
ウィンドウで取ったKeyDownイベントからキーを取得して、
判定して結びつけたメソッドを呼び出す仕組みを自作してるわ。
うまく行ったようにみえたが、キーを押しっぱなしにしたときの動作を
別に用意する必要がでてきたりで混乱中。
ある程度スマートに書いていきたいから実装がなかなか進まない。

353 :デフォルトの名無しさん:2010/04/14(水) 20:37:14
>>351
大変なのは、どうやってカスタマイズさせるか、の部分だよ。
うっかり「MS-IMEのキーカスタマイズ画面と同じデザインにしましょう」って言っちゃって、
既存のイベントだけではどうしても作れなくて、同じUIを再現するのにかなり苦労した。

354 :デフォルトの名無しさん:2010/04/14(水) 20:47:49
そりゃ君がうっかり屋さんなだけだ
でも俺もカスタマイズ関連はめんどくていやだけど

355 :デフォルトの名無しさん:2010/04/14(水) 22:09:15
>>354
無能はコメしなくていいぞ

356 :デフォルトの名無しさん:2010/04/15(木) 00:22:22
>>292さんが言ってる
>>OracleのおかげでJavaが衰退しそうだ
ってどういうことですか? Sunを買収したってことまではわかるんだけどJavaが衰退するというのがちょっと分かりません。
Oracleがデータベースを主に扱ってるってところまでは分かるんですけど・・・
IT業界で飯を食っていない本当に初心者なんでやさしいお兄様方ご教授お願い致します。

357 :デフォルトの名無しさん:2010/04/15(木) 00:33:25
スレタイ読め

358 :デフォルトの名無しさん:2010/04/15(木) 00:34:10
ん? Oracle が Java を内包してしまったら
環境が閉じてしまって COBOL みたいな運命になるって意味では?

359 :デフォルトの名無しさん:2010/04/15(木) 01:07:21
Java作った人が最近Oracle辞めたことを言ってるんじゃないの?
それでJavaが衰退するかどうかは知らないけどさ

360 :デフォルトの名無しさん:2010/04/15(木) 10:06:17
分裂に歯止めがかからなくなっちゃったからな
よくある末期症状

361 :デフォルトの名無しさん:2010/04/15(木) 10:16:55
Java、OOo、MySQL、Open Solaris どれをとっても、タダだから使っているやつらは多いけど、
胴元のSUNは儲からない事業になっていた。

362 :デフォルトの名無しさん:2010/04/15(木) 10:18:58
金取ってたらもっとひどいことになってただろうな


363 :デフォルトの名無しさん:2010/04/15(木) 14:30:01
いよいよVisual C# Expressがでたな

364 :デフォルトの名無しさん:2010/04/15(木) 14:50:16
で、SPはまだかね?

365 :デフォルトの名無しさん:2010/04/15(木) 15:52:19
まだですお。

366 :デフォルトの名無しさん:2010/04/15(木) 16:32:50
/???? / '? -? -? -
/????/'?-?-?-

367 :デフォルトの名無しさん:2010/04/15(木) 16:52:07
>>363
Expressだから無料?

368 :デフォルトの名無しさん:2010/04/15(木) 20:48:56
もし有料だったら今頃荒れまくってる

369 :デフォルトの名無しさん:2010/04/16(金) 11:11:39
フォーム上のコントロールのうち
チェックボックスだけ取り出してチェックしてるか確認したいんですけど
どうしたらいいですか?

foreach (Control ck in this.Controls)
{
          if(st is CheckBox || st.checked)
    {
かなと思ったけど全然違いました


370 :デフォルトの名無しさん:2010/04/16(金) 11:14:59
>チェックボックスだけ取り出してチェックしてるか確認したいんですけど
>どうしたらいいですか?
意味がわかりません

チェックつけたり外したりすればイベント起きるはずだけど

371 :デフォルトの名無しさん:2010/04/16(金) 11:34:40
||じゃなくて&&だろ
恰好付けた書き方しないで素直に
var cb = ck as CheckBox;
if (cb != null) {
と書け

372 :デフォルトの名無しさん:2010/04/16(金) 12:00:14
foreach (var cb in Controls.OfType<CheckBox>())
{
  if (cb.Checked)
  {

LINQ使えるならコレで。

373 :デフォルトの名無しさん:2010/04/16(金) 12:29:51
できましたありがとうございます!
なんで分かるんですか!すごいっすね!

374 :デフォルトの名無しさん:2010/04/16(金) 13:14:16
おまえら、微妙にバカにされてるなw

375 :デフォルトの名無しさん:2010/04/16(金) 13:50:32
INotifyPropertyChanged -> 依存関係プロパティ てな感じでバインディングするのはどうしたらいいの?

376 :デフォルトの名無しさん:2010/04/16(金) 14:59:33
DataContextにバインド対象のオブジェクトを代入して
XAMLで{Binding プロパティ名}が普通
コードでやるならSetBinding

377 :デフォルトの名無しさん:2010/04/16(金) 21:45:55
VS2010高杉鼻水吹いたわ

378 :デフォルトの名無しさん:2010/04/16(金) 22:57:21
眠ってるみたいだろ
それβ版なんだぜ

379 :デフォルトの名無しさん:2010/04/16(金) 23:11:26
>>377
それだけ稼げるからその値段でも買うんだよ。

380 :デフォルトの名無しさん:2010/04/16(金) 23:16:19
アカデミックパッケージを買えたころが懐かしい。

381 :デフォルトの名無しさん:2010/04/16(金) 23:16:46
ドリームスパークにVS2010入ってたよw

382 :デフォルトの名無しさん:2010/04/17(土) 00:52:50
2010は並列処理が簡単にできたりして意外に画期的な感じだな。
2008で十分と思ったが、Express出るみたいだから使ってみよう。

383 :デフォルトの名無しさん:2010/04/17(土) 01:46:08
割れが出たら使ってみるかね

384 :デフォルトの名無しさん:2010/04/17(土) 02:05:34
並列が簡単にできるってどこソースだよ

385 :デフォルトの名無しさん:2010/04/17(土) 02:09:50
MS

386 :デフォルトの名無しさん:2010/04/17(土) 02:10:35
これが頭をよぎった
http://jigokuno.img.jugem.jp/20091127_1593608.gif

387 :デフォルトの名無しさん:2010/04/17(土) 08:30:40
今までも #pragma omp があったけど
それとは別なのか?

388 :デフォルトの名無しさん:2010/04/17(土) 10:29:40
うん

389 :デフォルトの名無しさん:2010/04/17(土) 11:04:42
>>387
ライブラリで実現しているんで、C#とは関係ないんだけどね。

390 :デフォルトの名無しさん:2010/04/17(土) 11:12:34
System.Threading.Tasksだな
TPLと呼ばれてたやつ
他にもSystem.Collections.Concurrentに標準のコレクションのスレッドセーフ版が追加

391 :デフォルトの名無しさん:2010/04/17(土) 11:16:17
あと、Parallel LINQ と、
C++ 版のみだけどエージェントライブラリってのが入った。

392 :デフォルトの名無しさん:2010/04/17(土) 11:27:28
TPLはともかくParallel LINQは使い道が思いつかないなあ
あまりにも抽象的すぎ

393 :デフォルトの名無しさん:2010/04/17(土) 11:28:52
個人でプログラム書いてるとどうしてもLINQの使い道が思い浮かばない
勉強のために何かお題は無いものだろうか

394 :デフォルトの名無しさん:2010/04/17(土) 12:04:01
LINQはSQL常用してる人には
分かりやすいのかもしれないけど
実際どうなのよ

あと、どういう動きになってるのかちょっと気持ち悪い面もある
具体的に言うとオーバーヘッドがどうなってるかだけど

395 :デフォルトの名無しさん:2010/04/17(土) 12:16:41
どうなのよって言い方はどうなのよ。
オーバーヘッドはベンチとれば。

396 :デフォルトの名無しさん:2010/04/17(土) 12:20:35
もうコレクションのグループ化や集計なんていちいち自分で書いちゃいられないね。

397 :デフォルトの名無しさん:2010/04/17(土) 12:29:58
LINQ to Objectsのことを言ってるなら、動作が理解できないのは
yieldが理解できてないということ。
素直すぎるくらい素直にyieldで実装されてる。

398 :デフォルトの名無しさん:2010/04/17(土) 12:33:58
yieldは神

399 :デフォルトの名無しさん:2010/04/17(土) 12:37:30
yieldがどうやって実装されているかとか
最近の子は考えないのかね

400 :デフォルトの名無しさん:2010/04/17(土) 12:48:12
それは言語仕様ありきだから考えても仕方がない
実際、コンパイラが頑張ってコードを生成しまくってるだけ

401 :デフォルトの名無しさん:2010/04/17(土) 12:51:59
yield はスタックを保存しておく必要があるはずだから
実装の仕方によってはオーバーヘッドが気になる

402 :デフォルトの名無しさん:2010/04/17(土) 12:56:45
>>401
普通に自前で Current と Next() 実装したようなコードが生成されるだけだよ。

403 :デフォルトの名無しさん:2010/04/17(土) 12:59:00
なるほど
そういう風に実装されるのか

404 :デフォルトの名無しさん:2010/04/17(土) 13:22:00
yield
なんて読めばいいんだ〜

yieldの効能はよさそうだよね

405 :デフォルトの名無しさん:2010/04/17(土) 13:24:03
いーるど

406 :デフォルトの名無しさん:2010/04/17(土) 14:09:15
>>394
とりあえず、LINQ to Objectだと

たかだか10%の(局所的な)処理速度の低下なんて殆ど無視できるけど、
キャッシュ機能があるメソッドもあるのでメモリ消費量は要注意

q.Reverse().Reverse().Reverse().Reverse().Reverse().Reverse().Reverse().Reverse().Reverse().Reverse();

とかやると、メモリ的には配列を10個コピーするようなもの
流石にこんなことはしないだろうけどw

407 :デフォルトの名無しさん:2010/04/17(土) 14:19:03
じゃあ例として出すな。あほか。

408 :デフォルトの名無しさん:2010/04/17(土) 14:47:17
Skip(1)を呼んで再起呼び出しなんてやってると
えらく効率の悪いものになるよ。

409 :デフォルトの名無しさん:2010/04/17(土) 18:14:01
DBはトランザクション含めて全部自動化してほしい

410 :デフォルトの名無しさん:2010/04/17(土) 18:22:11
汎用的なリスト処理を統一された方法で単純に記述できるのは素晴らしい。
LINQ to ObjectだとSQLの知識は関係ない。
LINQ to SQL/Entityだったら生成されるSQL文チェックしたりしないといけないんで必要。

411 :デフォルトの名無しさん:2010/04/19(月) 09:52:13
http://msdn.microsoft.com/en-us/library/system.windows.application.unhandledexception%28VS.95%29.aspx
このサンプルの例外のところがよくわからないので教えてください。
        private void Application_UnhandledException(object sender,
            ApplicationUnhandledExceptionEventArgs e)
        {
            if (e.ExceptionObject is FileNotFoundException)
            {
                // Inform the user

                // Recover from the error
                e.Handled = true;
                return;
            }

            // Exception is unrecoverable so stop the application and allow the
            // Silverlight plug-in control to detect and process the exception.
        }

このメンバ関数のApplicationUnhandledExceptionEventArgsが次のようなエラーになります。
エラー 1 型または名前空間名 'ApplicationUnhandledExceptionEventArgs' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
usingはネットで調べていろいろ足してみたのですが解決しませんでした。

どのようにすればいいのでしょうか?

412 :デフォルトの名無しさん:2010/04/19(月) 09:56:30
ApplicationUnhandledExceptionEventArgs は、
System.Windows 名前空間にあるみたいだけど?

アセンブリは追加してある?

413 :デフォルトの名無しさん:2010/04/19(月) 09:58:17
using System.Windows;
はいれてあります。

using System.Web;
のように参照がいるのかと思ってそっちを見てみましたが
そちらにはusing System.Windows;はなさそうなのでどうすればいいのか・・・

414 :デフォルトの名無しさん:2010/04/19(月) 10:06:42
エディションの違いとかもあるんですかね?
サンプルで拾ってくると製品版のvsで作ったプロジェクトがほとんどで
EEだとそのまま読み込めなかったりします。
それを自分で移植してるとほとんどこのエラーの引数のところで引っかかります。

415 :デフォルトの名無しさん:2010/04/19(月) 10:10:46
using してエラーになってないなら、参照を入れる必要はないよ。

416 :デフォルトの名無しさん:2010/04/19(月) 10:19:57
>>415
using してもエラーになります。

417 :デフォルトの名無しさん:2010/04/19(月) 10:22:58
using がエラーになってるなら、参照が足りてない。

418 :デフォルトの名無しさん:2010/04/19(月) 10:24:31
>>411
それSilverlightのだけどあってるの?
普通のはこっち↓
ttp://msdn.microsoft.com/en-us/library/system.appdomain.unhandledexception.aspx

419 :デフォルトの名無しさん:2010/04/19(月) 10:28:32
>>418
はい
sliverlightでやってます

プロジェクトの作り方間違えたのかな・・・?
wpfブラウザアプリケーションでプロジェクト作ればいいんですよね?

420 :デフォルトの名無しさん:2010/04/19(月) 10:35:26
違うよ
SilverlightはSilverlightアプリケーションプロジェクト
WPFブラウザアプリケーションとは全くの別物
VS2008なら別途Silverlightツールキットのインストールが必要
VS2010には最初から入ってる
ExpressならVC#ではなくVWDを使う

421 :デフォルトの名無しさん:2010/04/19(月) 10:43:19
>>420
あーそういうことですかorz
ありがとうございます。

422 :デフォルトの名無しさん:2010/04/19(月) 10:44:24
上位のWPFはそのまま作れるのに
下位のSilverlightがToolとWebdeveloper必須ってのがクソ

423 :デフォルトの名無しさん:2010/04/19(月) 11:04:18
上とか下とかいう問題じゃなくてSilverlightはもともと
Webサービスのクライアントとして使うものだし
WPFと違って.NETのバージョンとは無関係だから当たり前

424 :デフォルトの名無しさん:2010/04/19(月) 11:06:58
内部のC#部分は.net依存ですよね・・・

425 :デフォルトの名無しさん:2010/04/19(月) 11:10:23
こっちもどうぞ
Microsoft Silverlight その6
ttp://pc12.2ch.net/test/read.cgi/tech/1271580489/l50

426 :デフォルトの名無しさん:2010/04/19(月) 11:11:19
本家の.NETとは別系列のCLRがプラグインに入ってるんだよ
実行に.NETはいらん

427 :デフォルトの名無しさん:2010/04/19(月) 11:13:32
>>426
なるほど
ややこしいw

428 :デフォルトの名無しさん:2010/04/19(月) 11:35:28
銀光にそんなものはない。





と思う…

429 :デフォルトの名無しさん:2010/04/19(月) 12:03:21
Visual Studio 2008 で、Silverlight 3 ベースの Web 開発を行うためのアドオンです。このアドオンと共に、
Silverlight 3 開発者向けランタイムと Silverlight 3 SDK もインストールされます。このアドオンは、
Visual Web Developer を含む、すべてのバージョンの Visual Studio 2008 Service Pack 1 で動作します。

これだとVWDなくても作れそうだけど実際は作れないんでしょ?

430 :デフォルトの名無しさん:2010/04/19(月) 12:07:38
>>429
今環境作ってみましたがVWD側だけですね
VC#のIDEにはSliverLightの項目はでませんでした

431 :デフォルトの名無しさん:2010/04/19(月) 12:07:47
2010Expressのiso版落としてVWDだけインストールして
VC#用のテンプレートだけ抜け

432 :デフォルトの名無しさん:2010/04/19(月) 13:49:16
2001の頃からListViewのカラムの幅の変更が反映されない不具合が
ずっと修正されてないよね

433 :デフォルトの名無しさん:2010/04/19(月) 14:26:56
されるときはされるのがイミフ

434 :デフォルトの名無しさん:2010/04/19(月) 17:27:17
delphiの
IdHttp1.Request.UserAgent := 'Gozilla/4.0 (compatible; test test 50)';
IdHttp1.HandleRedirects := True;
この処理をC#でしたいのですが、どう記述すればいいのでしょうか

上の方は何となくググって推測できたのですが、もう1つがわかりません。

WebClient d=new WebClient();
d.Headers.Add("User-Agent", "Gozilla/4.0 (compatible; test test 50)");

435 :デフォルトの名無しさん:2010/04/19(月) 17:42:55
ググるって、、IdHttp1を調べてWebClient調べるだけだろう?
ってまあオレも調べてないけど、AllowAutoRedirectプロパティとかそれっぽくない?

436 :デフォルトの名無しさん:2010/04/19(月) 17:43:40
WebClientって細かい制御できたっけ?
WebRequestだといろいろ指定できるんだけどな

軽くぐぐってみた感じだとAllowAutoRedirectあたりがそうかな?

437 :デフォルトの名無しさん:2010/04/19(月) 19:09:09
次の行から、今日からあとの日を抜き出して配列に入れるラムダ式の書き方を教えてください。
2010/04/17
2010/04/18
2010/04/19
2010/04/25
2010/04/30
2010/05/17
2010/05/18
2010/05/30
string[]で読んで、DateTime.Parseして、DateTime.Nowと比較して、という方法はできますが、1行でスマートに書きたいです。
よろしくお願いします。


438 :デフォルトの名無しさん:2010/04/19(月) 19:12:30
>>437
それ宿題?
C#の宿題スレは機能してなかったな・・・

439 :デフォルトの名無しさん:2010/04/19(月) 19:14:02
しかし、なんでダメな人って行数の短さにこだわるのかね不思議。
簡潔なことと短いことの区別がついてないんだろうかw

440 :デフォルトの名無しさん:2010/04/19(月) 19:17:11
>>439
あと分かっててあえて分からないふりして住人試すようなのもいるしなあw

441 :デフォルトの名無しさん:2010/04/19(月) 19:20:54
SelectでParseしてWhereで比較してToArray。
SelectはWhereのところに混ぜちゃってもいいけど。

442 :デフォルトの名無しさん:2010/04/19(月) 19:21:24
days.Where(n => DateTime.ParseExact(n, "yyyy/dd/MM", null) > DateTime.Today).ToArray();

まあこんなもんだろ
こんなバカな問題考えるまでもないな

443 :デフォルトの名無しさん:2010/04/19(月) 19:22:33
さりげない罠乙w

444 :デフォルトの名無しさん:2010/04/19(月) 19:25:55
GCHandleの使い方で少し悩んだ
Pinnedで使う場合はGCHandle.ToIntPtrじゃなくて
インスタンスのAddrOfPinnedObjectの方を使わないといけないのね
やれやれ

445 :デフォルトの名無しさん:2010/04/19(月) 19:29:01
ParseExactじゃなくていいと思うが…。

446 :デフォルトの名無しさん:2010/04/19(月) 19:36:06
好きにしろ

>>443
死ね

447 :デフォルトの名無しさん:2010/04/19(月) 19:37:11
>1行でスマートに書きたいです。
この時点であれだな

448 :デフォルトの名無しさん:2010/04/19(月) 19:39:49
セミコロンで区切って1行で書くというトンチを効かせられない時点で素人だ。

449 :デフォルトの名無しさん:2010/04/19(月) 19:40:49
>ラムダ式の書き方を教えてください。

>1行でスマートに書きたいです。

わかってて質問してるよな

450 :デフォルトの名無しさん:2010/04/19(月) 19:41:55
そろそろゆとり特有の捨て台詞がくるかな

このスレは無能なやつのあつまりですね
とか

451 :デフォルトの名無しさん:2010/04/19(月) 19:46:44
一応答えてるしそれは…

452 :デフォルトの名無しさん:2010/04/19(月) 19:57:26
>>439
くだすれの初心者煽ってる時点で十分ダメ人間だろカス
なんでここ見る必要があるんだ?ボケ

453 :デフォルトの名無しさん:2010/04/19(月) 20:26:40
>>438
宿題じゃないです。

>>440,449
ほんとにわかってないです。

>>441
コードだとうれしいです。

>>442
ありがとうございます。
まだ自分で書けないので、ひとつひとつ覚えていきます。
このコードをデバッグで実行してみて、すこしwhereについてわかってきました。
ほんとうに感謝しています。


454 :デフォルトの名無しさん:2010/04/19(月) 22:08:43
罠って何だと思ったらddとMMが逆なのか。

455 :デフォルトの名無しさん:2010/04/19(月) 22:15:19
「今日からあと」って日本語としておかしいけど、「〜から」って起点だから今日も含むんじゃないのか

456 :デフォルトの名無しさん:2010/04/19(月) 22:28:27
>>435-436
ありがとうございます

457 :デフォルトの名無しさん:2010/04/19(月) 23:05:20
C#ならありそうだから聞いてみる
panelのどれか一つを切り替えて表示してくれるファンクションとかあらかじめ用意されてないの?
ないなら簡単な方法を教えてちょうだい!!
とりあえず今は下みたいにしてる・・・
public void controlVisibleTrue(Control control)
{
  panel1.Visible = (control == panel1) ? true : false;
  panel2.Visible = (control == panel2) ? true : false;
  panel3.Visible = (control == panel3) ? true : false;
  Refresh();
}


458 :デフォルトの名無しさん:2010/04/19(月) 23:08:20
bringtofrontで最前面に持ってこれるよ

459 :デフォルトの名無しさん:2010/04/19(月) 23:09:33
>>457
それ三項演算子使う必要あるの?


460 :デフォルトの名無しさん:2010/04/19(月) 23:11:32
すっきりソースを見せてくださいな・・・

461 :デフォルトの名無しさん:2010/04/19(月) 23:11:45
>>458の補足

panel1〜3がどういう状態かわからんので
panel1〜3を管理するpanelBaseってのを用意して
panelBaseの配下にpanel1〜3を入れる

その状態でpanel1〜3はDockをFillにしておいて
bringtofrontで表示したいpanelを最善面にする
panelBaseを用意するのはzオーダー関連を楽するため

462 :デフォルトの名無しさん:2010/04/19(月) 23:13:44
>>460
やり方はいろいろあるんだよな
panel1〜3の親が何かしらないがFindでコントロールを検索もできたはずだし
panelに名前とか付けておけばそれで検索もできるし

463 :デフォルトの名無しさん:2010/04/19(月) 23:14:44
>>461>>462
ありがとう。やっぱりあったのか^_^;
さっそく試してみます

464 :デフォルトの名無しさん:2010/04/19(月) 23:23:06
>>461
普通に考えてpanelBase(命名も謎だなw)は不要だと思うけど。
移動するのでもない限りね。

465 :デフォルトの名無しさん:2010/04/19(月) 23:26:27
>>464
まあ状況がわからないのでとりあえずだよ
コンテナの中でFillで表示するならベースはいらないけど
そうじゃない場合はベースがあった方が楽ってだけ

466 :デフォルトの名無しさん:2010/04/19(月) 23:35:26
タブ無しのTabControlが一番素直じゃないか?

467 :デフォルトの名無しさん:2010/04/19(月) 23:37:40
string変数で「<」を使いたいんだけどどう表現すればよろし?

468 :デフォルトの名無しさん:2010/04/19(月) 23:38:47
>>466
どういうことをしたいのかわからんからとりあえずはこれでいいんじゃね?

469 :デフォルトの名無しさん:2010/04/19(月) 23:38:59
>>466
何かメリットがあるとも直感的とも思えませんが。

470 :デフォルトの名無しさん:2010/04/19(月) 23:39:32
>>467
変数名?

471 :デフォルトの名無しさん:2010/04/19(月) 23:43:10
>>470
いややっぱなんでもない

string型の変数aにHTMLのソースを入れてそれをwebBrowser1.DocumentTextで直接表示させようとしたけどうまくいかなくて原因が<>を特殊文字と認識してるんかと思ったら違った
どうやったら直接表示できるようになるんですか?

472 :デフォルトの名無しさん:2010/04/19(月) 23:47:14
>>471
htmlエンコードをかける
http://www.atmarkit.co.jp/fdotnet/dotnettips/242htmlencode/htmlencode.html

473 :デフォルトの名無しさん:2010/04/19(月) 23:47:43
コード書いてると命名でつまずく。
簡潔な名前付けるの難しいね。いらん時間と脳内リソースを使ってしまう。

474 :デフォルトの名無しさん:2010/04/19(月) 23:50:35
ローカルならiとかjとかsとかoとか。
プロパティにするようなやつなら、一般的なクラスについてるような感じか、
プロジェクト当初に作った用語集から持ってくるだけ。

そんなに大変?

475 :デフォルトの名無しさん:2010/04/19(月) 23:53:42
慣れもあるんじゃね?
コードいっぱい書いてるとそのうちこれでいいやとか慣れでぱぱっと決めちゃうけど
最初ってなんか妙にこだわってしまうときあるよ

476 :デフォルトの名無しさん:2010/04/19(月) 23:54:38
>>472
ぎゃあああ
すまん言葉が足りなかった
「エンコードをかけなくても表示できるが、HTMLのリンクのコードを認識せず、webbrowserに文字列だけが表示されている状態になっている」
どうしたらリンクがかかるのだろうか

477 :デフォルトの名無しさん:2010/04/19(月) 23:55:18
クラスとか、メソッドとか。
panelBaseの微妙さがわからんからこういう命名よくするわ。

478 :デフォルトの名無しさん:2010/04/19(月) 23:58:13
>>476
晒せる範囲でそのhtmlを入れ込んでるコード見せて

>>477
まさか適当につけたpanelBaseを引っ張ってこられるとは思わなかったorz
デザイナーがつけたpanel1とかで十分なプロジェクトなんだからpanelBaseでも十分だろうにw

479 :デフォルトの名無しさん:2010/04/19(月) 23:58:15
>>476
ちゃんと説明しろよハゲ

480 :デフォルトの名無しさん:2010/04/19(月) 23:59:44
>>478
コードと言ってもこの1行だけなんだが・・・
webBrowser1.DocumentText ="<html><body><a href=\"test.html\">リンク</a></body></html>";


481 :デフォルトの名無しさん:2010/04/20(火) 00:03:00
>>480
イコールが全角だね・・・

482 :デフォルトの名無しさん:2010/04/20(火) 00:04:28
なんだその全角は。

483 :デフォルトの名無しさん:2010/04/20(火) 00:05:31
2chの専門板もはてなのようにポイント交換で疑問解決とかいいかもな

時々そう思う

484 :デフォルトの名無しさん:2010/04/20(火) 00:07:24
いらね。

485 :デフォルトの名無しさん:2010/04/20(火) 00:19:56
>>481
うわぁ・・・
ありがとうございます
吊ってきます

486 :デフォルトの名無しさん:2010/04/20(火) 21:12:07
F#とかC#とかなんでMicrosoftは
英単語一文字+#が好きなんだろう。

487 :デフォルトの名無しさん:2010/04/20(火) 21:32:59
C++++ よりは C# の方がいい。

488 :デフォルトの名無しさん:2010/04/20(火) 22:10:09
アップルのi+英単語みたいなもんだろ。

489 :デフォルトの名無しさん:2010/04/20(火) 22:10:23
でも実際C#ってC++++というよりは
Delphi++だよな

490 :デフォルトの名無しさん:2010/04/20(火) 22:15:13
は?
あんな"Visual Pascal"とは似ても似つかないと思うけど。

491 :デフォルトの名無しさん:2010/04/20(火) 22:16:26
作った人一緒だしね。

492 :デフォルトの名無しさん:2010/04/20(火) 22:17:24
C#はいろんな言語の集大成でしょ

493 :デフォルトの名無しさん:2010/04/20(火) 22:17:24
似てるというなら、JavaというかJ++。

494 :デフォルトの名無しさん:2010/04/20(火) 22:18:09
C# が受け良かったし、C# = .NET の代表の地位を確立したし、それに合わせてるだけかと。

495 :デフォルトの名無しさん:2010/04/20(火) 22:20:31
DelphiとJ++とC#の設計者は同じ

496 :デフォルトの名無しさん:2010/04/20(火) 22:25:30
J++も一緒なんだ。知らなかった。

497 :デフォルトの名無しさん:2010/04/20(火) 22:30:21
Delphiのメイン設計者が、C#のメインチームにいる、が正しい。
Java, Visual Basic, C++の影響を受けている。
MSDNを通じて集積された無数の要求が反映された、完成度の高い言語。

498 :デフォルトの名無しさん:2010/04/20(火) 22:43:42
COMオブジェクトをJSON.NETでJSONにしたいんだけど、なんだかだめみたい。
COMオブジェクトはシリアライズできないんでしょうか。
COMオブジェクトをシリアライズする方法があれば教えてください。

499 :デフォルトの名無しさん:2010/04/20(火) 22:48:40
無理

500 :デフォルトの名無しさん:2010/04/20(火) 22:56:03
>>499
回答ありがとうございます。
めんどくさいですが、ラッパー作ります。
COMオブジェクトのデシリアライズはできないとしても、
シリアライズくらいはさせて欲しいもんです。

501 :デフォルトの名無しさん:2010/04/20(火) 23:03:02
JSONのシリアライズは外のライブラリ使わなくてもWCFでサポートされてるよ
もちろんCOMは無理だけど

502 :デフォルトの名無しさん:2010/04/20(火) 23:08:27
デシリアライズできないシリアライズに意味はあるのでしょうか

503 :498:2010/04/20(火) 23:18:06
>>502
永続化目的じゃないです。
JavaScript ⇔ COM の通信をやろうとしてるので、
COMのプロパティを送るのにJSON使うのが楽なんです。
そりゃ、メソッド呼び出し自体はCOMを通して行うますよ。

504 :デフォルトの名無しさん:2010/04/20(火) 23:47:08
これという答えは無いけどさ、どうやってC#に詳しくなったの?

505 :デフォルトの名無しさん:2010/04/20(火) 23:51:22
10年やってりゃ、そら詳しくもなるさ。

506 :デフォルトの名無しさん:2010/04/21(水) 00:59:48
C#でなんかキャラクターがマウスポインタを追いかける
マウスストーカーという類のを作ってみたいのですが
サンプルプログラムが見つかりません。
何か紹介していただけるとありがたいです。
よろしくお願いします。

507 :デフォルトの名無しさん:2010/04/21(水) 01:11:24
その程度ならタイマーとピクチャーボックス組み合わせて
短時間でピクチャ−ボックスのポジションをマウスカーソルんとこに入れ替える
とかでいいやん。

508 :デフォルトの名無しさん:2010/04/21(水) 01:15:56
いまどきそれをC#で書く人っているのかな?w
いろいろやり方は思いついたけど
ちゃんと動く物を書くのには時間が欲しいね

今頭の中にあるのを書くと
・アクティブにならないFormを用意
・このFormのスタイルをNoneにして枠を消す
・タスクトレイから終了できるようにする
・画像を用意
あとは一番簡単な実装だとシューティングゲームのホーミングと同じで
自分の位置とカーソルの位置を計算してある一定以上離れてる場合は
ベクトルの計算して少しずつよって行く感じか

509 :508:2010/04/21(水) 02:06:24
できたけどもう寝てるか?

510 :デフォルトの名無しさん:2010/04/21(水) 02:07:29
起きてます。

511 :デフォルトの名無しさん:2010/04/21(水) 02:08:11
おれは寝てます。

512 :デフォルトの名無しさん:2010/04/21(水) 02:11:37
寝言は寝て言え

513 :デフォルトの名無しさん:2010/04/21(水) 02:14:26
フォームアプリの基本だと思うんですが、質問させてください。
ウィンドウの大きさをmaxSizeとminSizeで挟みうちにして無理やり固定してるんですが、
それ以外に大きさを固定する方法ってないんでしょうか?
そういうプロパティがあるんでしょうか?

514 :506:2010/04/21(水) 02:15:53
>>509
解答どうもです。
今寝るところでした
そんなに速く作れるなんてすごいです。

515 :デフォルトの名無しさん:2010/04/21(水) 02:26:04
Mouseってプロジェクト作ってこれをForm1.csの全部と張り替えればOK
http://ideone.com/YIZYF

使った画像
http://uproda.2ch-library.com/237467FGw/lib237467.png

ファイル名をMouse.pngと直して実行ファイルと同じところにおいておけばOK

516 :デフォルトの名無しさん:2010/04/21(水) 02:28:18
しまった
タスクトレイにアイコンだしてねーわw

517 :デフォルトの名無しさん:2010/04/21(水) 02:33:33
というかタスクトレイにアイコン出すのってアイコン画像が無いとできなくね?

518 :508:2010/04/21(水) 03:16:59
>>513
FormBorderStyleにFixedxxを指定すればサイズ変更できない

画像無くても動くバージョンできた
トレイから削除も可能

起きたらあげるわ〜寝る

519 :デフォルトの名無しさん:2010/04/21(水) 04:06:27
フォルダやファイルの構成を保存しておきたいんですが
どういうデータ構造がいいんでしょうか?

TreeNodeCollectionみたいなものがあったら楽なんだけど

520 :デフォルトの名無しさん:2010/04/21(水) 07:01:12
10年も使い続けなきゃ詳しくなれないのか

521 :デフォルトの名無しさん:2010/04/21(水) 07:25:36
10年やってるが未だにどぼん見ながらやってる
インテリセンスのせいなのかクラス名が長くて覚えられん

522 :デフォルトの名無しさん:2010/04/21(水) 07:36:15
10年やってるやつってそれほど多くない。
2002年にVS.NETが出たんで、そこからだと8年。
10年やってる、ってのは、四捨五入したか、ベータからやってたやつだな。

523 :デフォルトの名無しさん:2010/04/21(水) 07:44:23
プログラミングしない俺がC#2001stdが出た日に買っちゃったんだよね
雑誌で見たのかなんなのかなぜ買ったのかも思い出せない
C++,VBと挫折してきたから新しい言語に飛びついたのかもしれん

524 :デフォルトの名無しさん:2010/04/21(水) 07:45:24
なにそのパチもんw

525 :506:2010/04/21(水) 08:04:44
>>515
おはようございます。
サンプルどうもありがとうございます。
これをもとに色々頑張ってみます!

526 :デフォルトの名無しさん:2010/04/21(水) 08:54:13
まだ3年くらいだぜ

527 :デフォルトの名無しさん:2010/04/21(水) 09:19:11
>>519
どうって、普通にフォルダノードクラスのツリーにするんじゃね
どういう方向の回答を期待してるのか分からん

528 :デフォルトの名無しさん:2010/04/21(水) 11:36:34
Treeのまんまだとシリアライズできねぇ死ねってことじゃね

529 :デフォルトの名無しさん:2010/04/21(水) 11:45:27
最適化皆無でいいなら自前で作るのもそんな大変じゃないかと・・・

530 :デフォルトの名無しさん:2010/04/21(水) 12:02:54
WPFならデータをそのまま全く加工することなくTreeViewに表示できるから超簡単

531 :デフォルトの名無しさん:2010/04/21(水) 12:21:14
プログラマーは10年以上やってるがC#は初心者
仕事で2ヶ月だけやらされた
Googleとヘルプとインテリセンスを活用してなんとかアプリ1本作った
たぶんかなり非効率的なコードになってると思うけど客や上司にソース見せる訳じゃないから気にしない
納期を守るのが一番大切

532 :デフォルトの名無しさん:2010/04/21(水) 13:23:22
こういう奴が最終的にチームに迷惑をかける

533 :デフォルトの名無しさん:2010/04/21(水) 13:26:32
取りあえずDllImportだらけとかじゃなきゃいいんじゃね?w

10年もやってればオブジェクト指向は出来てるんだろうし
ラムダやらLINQは別に使いこなせなくてもいいと思う

まぁ俺は使うが

534 :デフォルトの名無しさん:2010/04/21(水) 13:26:43
>>532
いちいち煽るなハゲ

535 :デフォルトの名無しさん:2010/04/21(水) 13:39:48
なんでハゲだとわかったんだ

536 :デフォルトの名無しさん:2010/04/21(水) 13:54:26
男は皆心にハゲを持っているものだからさ

537 :デフォルトの名無しさん:2010/04/21(水) 13:54:56
人よりちょっと薄いだけだ
まだハゲちゃいない

538 :デフォルトの名無しさん:2010/04/21(水) 13:55:10
男ははげる
はげないやつはガンになりやすい

539 :デフォルトの名無しさん:2010/04/21(水) 15:48:08
よし、女になるぞ

540 :デフォルトの名無しさん:2010/04/21(水) 19:21:25
8年間C#やっていて今日初めてクラスライブラリを使用した
これめちゃくちゃ便利じゃないか
毎回、同じクラスや参照を追加してたのがばからしい

541 :デフォルトの名無しさん:2010/04/21(水) 19:22:35
今までどんなアプリ作ってたの?

542 :デフォルトの名無しさん:2010/04/21(水) 19:23:04
そんな餌に俺様が釣られクマー

543 :デフォルトの名無しさん:2010/04/21(水) 19:34:05
みんなも使った方がいいよクラスライブラリ
プロジェクトに追加して編集したら
ちゃんと元のクラスライブラリも変更されるんだよ
複数のプロジェクトで1つの汎用クラスを開発できるんだよ!
めちゃくちゃ便利

544 :デフォルトの名無しさん:2010/04/21(水) 19:36:29
>>541
いろいろ小物

>>542
釣りじゃないよ
昔のC#はクラスライブラリが作れなかった
作れてもコピペしなきゃならなくて面倒なだけなので
使わなかったんだよ

545 :デフォルトの名無しさん:2010/04/21(水) 19:54:03
>昔のC#はクラスライブラリが作れなかった
え?

546 :デフォルトの名無しさん:2010/04/21(水) 19:55:15
http://www.atmarkit.co.jp/fdotnet/dotnettips/848cbviewer/cbviewer.html
これやると2重にテキストデータが取得されるんだけど
どこ修正すればいいですか?

547 :デフォルトの名無しさん:2010/04/21(水) 19:58:53
>>546
そのまんまコピーした?
ちょっとでもいじってるならそっちを出さないと意味ないよ

548 :デフォルトの名無しさん:2010/04/21(水) 20:07:37
>>547
あ、すいません
ブラウザのほうの不具合っぽいです
Ctrl+Cだと2重になりませんでした

549 :デフォルトの名無しさん:2010/04/21(水) 20:31:11
クラスライブラリを使わなかったのか

じゃあConsole.WriteLineも使わなかったし
new Form()とかも使わなかったのか。
それどころかint x=10;
とかも使わなかったなんてすごいな。

8年間どんなことをやってきたんだろう。

550 :デフォルトの名無しさん:2010/04/21(水) 20:37:31
つまんねー揚げ足取るなよハゲ

551 :デフォルトの名無しさん:2010/04/21(水) 21:17:55
XPでVistaや7のウィンドウスタイル
(閉じるボタンとか最小化ボタン)
のアプリケーションを作成することって
できますか?

552 :デフォルトの名無しさん:2010/04/21(水) 21:26:07
そりゃ別に機能が違うわけでもないし技術的には作れないわけはないが
あ、でも勝手にその辺の画像使うのはライセンス的にまずいかもしれんな

553 :デフォルトの名無しさん:2010/04/21(水) 21:33:32
いろいろやり方はあるがそんな無駄なことをするのか?

554 :551:2010/04/21(水) 21:36:03
例えば、Windows Live MessengerとかSkypeとかは
XPでもVistaや7のようなボタンのスタイルなんですが
C#とかVBの標準機能ではなくて独自に組んでるんですかね?

555 :デフォルトの名無しさん:2010/04/21(水) 21:38:26
ウィンドウ枠を消してウィンドウの中に普通のボタンを置いてるんだよ

556 :デフォルトの名無しさん:2010/04/21(水) 21:43:27
>>554
そらそうよ

557 :デフォルトの名無しさん:2010/04/21(水) 21:47:18
C# があって F#もあってJ#もあった

D#とE#はどこいった。

558 :デフォルトの名無しさん:2010/04/21(水) 21:55:37
>>557
お前が作れ。

559 :551:2010/04/21(水) 22:00:12
>>552-553>>555-556
レスありがとう。
まんどいので標準スタイルでがまんします

560 :デフォルトの名無しさん:2010/04/21(水) 22:01:32
やり方は簡単なんだけどな

561 :デフォルトの名無しさん:2010/04/21(水) 22:07:33
C#はUser32も使えるのか。
これは便利だな。

562 :デフォルトの名無しさん:2010/04/21(水) 22:10:19
>>557
D.NETはもうあるけど

563 :デフォルトの名無しさん:2010/04/21(水) 22:17:10
>>557
DとEiffelを.NETにしろ。(もうあるけど)

564 :デフォルトの名無しさん:2010/04/21(水) 22:19:28
自分でアプリ単独でやらなくても、システム全体のデザインをVista風に変えるフリーウェアがあったはず

565 :デフォルトの名無しさん:2010/04/21(水) 22:35:50
VC#だけでスキンやオーナードローを実装するのは茨の道だと思うよw
こういう感じで自分で実装すればいいだけなんだけどさw
http://uproda.2ch-library.com/237700AAg/lib237700.png

Form1.Designer.cs
http://ideone.com/fAnEK

566 :デフォルトの名無しさん:2010/04/21(水) 22:43:37
C#はアプリ内で完結できる事ならとてもやりやすいけど、
他アプリやシステムへの干渉とかになるととたんに大変になるね。
そういう用途はC++の方が向いてるかな

567 :デフォルトの名無しさん:2010/04/21(水) 22:50:18
寝ぼけたことを

568 :デフォルトの名無しさん:2010/04/21(水) 23:05:55
private uint? ID_;
のように「?」記号が付いている型宣言を見かけたのですが、
private uint ID_; と比べて、この「?」記号にはなにか意味があるんでしょうか?

569 :デフォルトの名無しさん:2010/04/21(水) 23:07:40
Nullable

570 :デフォルトの名無しさん:2010/04/21(水) 23:08:03
Nullable

571 :デフォルトの名無しさん:2010/04/21(水) 23:11:20
なるほど謎が解けました。ありがとうございました。


572 :デフォルトの名無しさん:2010/04/21(水) 23:11:53
null許容型
値型にnullを許容した物
って調べれば直ぐ出てくると思うが

573 :デフォルトの名無しさん:2010/04/21(水) 23:15:04
書き込む前にリロードしろよな

574 :デフォルトの名無しさん:2010/04/21(水) 23:15:46
うんすまん

575 :デフォルトの名無しさん:2010/04/21(水) 23:19:31
>>572
グーグル先生、記号使えないんでちょっと困っちゃったんです。今は反省している

576 :デフォルトの名無しさん:2010/04/21(水) 23:19:39
しかしキーワードが?しかないと検索も難しい
ヘルプのキーワード検索でも?でNullableは引っかからない

577 :デフォルトの名無しさん:2010/04/21(水) 23:32:07
そういうときは、MSDNでキーワードを調べような。

578 :デフォルトの名無しさん:2010/04/21(水) 23:47:16
うん

579 :デフォルトの名無しさん:2010/04/21(水) 23:51:57
素直だな

580 :デフォルトの名無しさん:2010/04/22(木) 00:01:22
まあ、>>568なんかは予め知っておくべきことだとは思うけどそもそも。
程度問題だけど、一々泥縄式に調べててら効率悪すぎるわけで、
普通は手を動かす前にこの程度の基本的なことは頭に入れておくでしょ。

581 :デフォルトの名無しさん:2010/04/22(木) 00:06:35
ただNullable使ったことない…

582 :デフォルトの名無しさん:2010/04/22(木) 00:15:17
俺も使ったことないし使いどころわからん

583 :デフォルトの名無しさん:2010/04/22(木) 00:18:37
DB使うときとか便利よ。

584 :デフォルトの名無しさん:2010/04/22(木) 00:19:31
参照型でnullに意味をもたせる場合と同様だと思いますが....

585 :デフォルトの名無しさん:2010/04/22(木) 00:19:33
遅延評価が必要で、かつ初期値を入れられない時にbool使うのが嫌で使った気がする

586 :デフォルトの名無しさん:2010/04/22(木) 00:20:50
DBは確かに

587 :デフォルトの名無しさん:2010/04/22(木) 00:30:06
http://cs2ch.blogspot.com/
1時間テトリスさんなにやってんすかw

588 :デフォルトの名無しさん:2010/04/22(木) 00:30:42
DBNullとかキモ過ぎ
これのせいで何度はまったことか

589 :デフォルトの名無しさん:2010/04/22(木) 00:40:50
VS2010日本語版も完成したか
胸が熱く財布は寂しくなってきたな

590 :デフォルトの名無しさん:2010/04/22(木) 01:48:15
>>589
人生真っ暗ですね

591 :デフォルトの名無しさん:2010/04/22(木) 01:54:15
>>587
違う人じゃね?

592 :デフォルトの名無しさん:2010/04/22(木) 02:03:27
>>591
夜食食べてくるっすw

593 :デフォルトの名無しさん:2010/04/22(木) 04:26:04
戻り値を2つ用意したい場合どうするんだっけ?
何か方法あったはずだけど

594 :デフォルトの名無しさん:2010/04/22(木) 04:36:00
タプル

595 :デフォルトの名無しさん:2010/04/22(木) 05:23:52
Regexでこういうパターンを使いたいんだけどうまくいかない
"\"\."
ドットのところで認識できないエスケープシーケンスとなる
@つけると今度は"くくりがおかしくなるし
どうすればいいですか?

596 :デフォルトの名無しさん:2010/04/22(木) 06:11:07
タプル

597 :デフォルトの名無しさん:2010/04/22(木) 09:48:46
>>595
\"\\.

598 :デフォルトの名無しさん:2010/04/22(木) 10:21:01
>>595
@"""\."

599 :デフォルトの名無しさん:2010/04/22(木) 10:44:25
>>597
>>598
なるほどそうすればいいのか
テキストボックスなんかで入力された文字列をパターンとする場合は
テキストボックスに"\"\."と書くだけでいいんですよね?
もっと@の機能を強力にしてほしいな

600 :デフォルトの名無しさん:2010/04/22(木) 10:52:23
気を利かせて便利にするとそれが当たり前になって要求がエスカレートする典型例を見た

601 :デフォルトの名無しさん:2010/04/22(木) 11:11:00
>>600
だからなんだよ

602 :デフォルトの名無しさん:2010/04/22(木) 11:21:19
>>600
お前はPC8801で十分だな

603 :デフォルトの名無しさん:2010/04/22(木) 11:38:04
あの時代は夢があった

604 :デフォルトの名無しさん:2010/04/22(木) 11:42:45
し〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜ん

605 :デフォルトの名無しさん:2010/04/22(木) 11:52:26
斉藤由貴がCMしてたなぁ

606 :デフォルトの名無しさん:2010/04/22(木) 12:13:32
機能を強力にする=マニュアル読まないでも使える

607 :デフォルトの名無しさん:2010/04/22(木) 12:18:23
>>606
だからなんだよチンカス

608 :デフォルトの名無しさん:2010/04/22(木) 12:24:11
ざわわざわわ

609 :デフォルトの名無しさん:2010/04/22(木) 12:38:56
画像ダウンロードするとき一定時間応答がなかったら
キャンセルさせたいんだけど何か良い方法ないですか?

610 :デフォルトの名無しさん:2010/04/22(木) 12:46:04
タイムアウトさせりゃいいじゃないか

611 :デフォルトの名無しさん:2010/04/22(木) 12:47:54
connectionのタイムアウトは指定できなかったはずだから
スレッドにして強制停止させればいいよ

612 :デフォルトの名無しさん:2010/04/22(木) 13:03:06
既にスレッドにforeachで複数の画像をダウンロードするようにしているので
ひとつのサイトが応答しないだけですべて中止になってしまいませんか?

スレッドの中にスレッドを書くことってできましたっけ?
何か良い方法ないですか?

613 :デフォルトの名無しさん:2010/04/22(木) 13:06:07
お前自分で答え書いてんだろが
まず試せよ

614 :デフォルトの名無しさん:2010/04/22(木) 13:07:46
ロジックを晒せよ。晒せる範囲でいいから
日本語で全部やり取りするの?
回答者がお前に合ったサンプルコードを全部かかないといけないの?

615 :デフォルトの名無しさん:2010/04/22(木) 13:14:16
あとTcpClientはタイムアウト指定できるけど

616 :デフォルトの名無しさん:2010/04/22(木) 13:16:51
>>610
>>613
>>614
バカには聞いてないから黙っとけ

617 :デフォルトの名無しさん:2010/04/22(木) 13:18:21
>>616
馬鹿でもなんでもねーだろ
C#でダウンロードするプログラムっていくつか作り方があるぞ
それさえもわからねーのに回答したってしゃーねーだろ

618 :デフォルトの名無しさん:2010/04/22(木) 13:22:06
>スレッドの中にスレッドを書くことってできましたっけ?

できるよ
はいおしまい

619 :デフォルトの名無しさん:2010/04/22(木) 13:24:49
ガキかよw

620 :デフォルトの名無しさん:2010/04/22(木) 13:25:41
do_work()
{
foreach()
{
wc.DownloadFiles();
}
}

今やってるのこれだよ
で、wc.DownloadFilesAsync();にするとキャンセルはできるが
多分、一つ目の画像がDLできてないのに次々DLされるはず
1個づつDLしたいんだよ。
はい、解答よろ

621 :デフォルトの名無しさん:2010/04/22(木) 13:28:03
DownloadFilesという関数が見つかりませんでした

622 :デフォルトの名無しさん:2010/04/22(木) 13:28:07
ID無いと相変わらずぐだぐだだな
それを晒したとかw

623 :デフォルトの名無しさん:2010/04/22(木) 13:31:06
答える気ないし、帰っていいよ

624 :デフォルトの名無しさん:2010/04/22(木) 13:36:36
役立たず

625 :デフォルトの名無しさん:2010/04/22(木) 13:39:36
うむ

626 :デフォルトの名無しさん:2010/04/22(木) 13:40:37
>>506のように日本語だけで質問したのに丸ごと答えがもらえる人と
>>609のように回答をまともに貰えないどことかスレの空気を悪くする人の差ってなんだろうw

627 :デフォルトの名無しさん:2010/04/22(木) 13:42:27
DownloadFileAsyncの中で
・別スレッドでダウンロード開始
・そのスレッドのタイムアウト待ち
をすればいいだけの話じゃん

628 :デフォルトの名無しさん:2010/04/22(木) 13:42:59
難しくて答えられないと煽るカスがいるだけのこと

629 :デフォルトの名無しさん:2010/04/22(木) 13:46:25
>>627
日本語で言われてもわからん
そうやりゃいいのぐらいわかってるんだよ
やり方教えろつってんのがわかんねーのかよカス
実例を提示しろ

630 :デフォルトの名無しさん:2010/04/22(木) 13:46:38
ちなみにWebClientは複数のスレッドから呼び出そうとすると怒る使えない子

631 :デフォルトの名無しさん:2010/04/22(木) 13:49:01
使えないクラスとかさ、同じような機能のクラスが多すぎるんだよ
整理しろよボケナスが!
ArrayListとか一生残すのか?C#ある限り永遠にあるのか?
クソッタレが

632 :デフォルトの名無しさん:2010/04/22(木) 13:50:31
なので単純に別スレッド使えといってる人はアンポンタンです

まぁn個の画像取得にn個のWebClientこさえて悪いってことはないが…

633 :デフォルトの名無しさん:2010/04/22(木) 13:53:15
まだ日本語で続けるのか?

634 :デフォルトの名無しさん:2010/04/22(木) 14:01:59
>>632
ではどうすればいいんだ?

635 :デフォルトの名無しさん:2010/04/22(木) 14:04:33
現実解として620に手を加えるなら

フラグを用意する
DownloadFileCompletedを受け取るようにしておく
イベントが発生したら常にフラグを無効にする

DoWorkの方ではフラグを有効にしてからDownloadFileAsyncにする
フラグが有効な間はスピンロック方式でブロックする

これでキャンセルにしろ完了にしろ1個ずつ落とせる

636 :デフォルトの名無しさん:2010/04/22(木) 14:25:00
>>635
遅い
もう出来た

637 :デフォルトの名無しさん:2010/04/22(木) 14:26:13
よかったやん

638 :620:2010/04/22(木) 14:50:46
また問題でたわ
wcでダウンロード中
すでにDLしたファイルなのに削除しようとしてもできない
なんでロックかかってるんだ?

639 :デフォルトの名無しさん:2010/04/22(木) 14:51:37
disposeしろ

640 :620:2010/04/22(木) 14:58:56
disposeしたらforeachの中で何度もnewしてイベント追加しないといけないんだけど
そうしろとおっしゃるの?

てか、disposeしなきゃならないならそのように書いとけよな
disする必要あったりなかったり、ほんとイライラするわこれ
こんな中途半端なクラス作るなボケ

641 :デフォルトの名無しさん:2010/04/22(木) 15:01:51
>>640
だから糞ロジック晒せよ

642 :デフォルトの名無しさん:2010/04/22(木) 15:09:40
>>640
そうです。

643 :デフォルトの名無しさん:2010/04/22(木) 15:11:34
using使わないのが悪い

644 :デフォルトの名無しさん:2010/04/22(木) 15:12:22
WebClient使うの止めればいいとは誰も言ってあげないのね

645 :デフォルトの名無しさん:2010/04/22(木) 15:14:26
>>644
使い方次第だよ
所詮は道具
実現したいことにあわせてどれを使うか選べばいいだけ

道具が悪いんじゃなくて使い方を知らないのが悪い

知らないなら知らないなりにコードを晒して他人に見てもらえば
いいのにアドバイス無視して日本語でごちゃごちゃ騒いでるだけ

646 :デフォルトの名無しさん:2010/04/22(木) 15:15:36
たぶんHttpWebRequestなんて分かるかボケって言われそうだからね。
AT車に乗っててMTみたいに変速できないって言われてるようなナンセンスさを感じる。

647 :620:2010/04/22(木) 15:24:04
>>643
おまえは全部のクラスにusing使うのか?
ヘルプにdisposeしないとファイルロックしたままになんて
説明どこにもないが?書いてあったらするわボケ

>>645
>>620
これ以上何を晒せと?

648 :デフォルトの名無しさん:2010/04/22(木) 15:35:18
自分の無知を棚に上げて騒いでるボケ。

649 :デフォルトの名無しさん:2010/04/22(木) 15:37:30
書いてあってもバカそうだからしないだろお前

650 :デフォルトの名無しさん:2010/04/22(木) 15:41:09
すべてにおいて「コード晒せ」「日本語で全部やるな」に集約されてるよな

コード見ればアドバイスとしてusing使った方がいいよとかでただろうに
もしくは修正コードを書いた人がusing使うパターンを作ってくれたかもしれないのに

651 :デフォルトの名無しさん:2010/04/22(木) 15:42:34
日本語で言われても分からんよね
コード晒してもらわんと

652 :デフォルトの名無しさん:2010/04/22(木) 15:42:44
WebClientがDispose必要ってどこで知ったんだよ

653 :デフォルトの名無しさん:2010/04/22(木) 15:43:14
>>652
もうお前は喋らなくていいからクソして寝ろ

654 :デフォルトの名無しさん:2010/04/22(木) 15:45:15
>>651
do_work()
{
foreach()
{
try{
wc=new();
wc.DownloadFileAsync();

while(){} //タイムアウト5秒
}
catch{}
finaly{wc.dispose();}
}
}

ほら書いたぞ

655 :デフォルトの名無しさん:2010/04/22(木) 15:46:28
いろいろと痛いよね

656 :デフォルトの名無しさん:2010/04/22(木) 15:48:02
Disposeすればいいに対していちいちDisposeしなきゃいけないの?って来るのが笑える。
常に最適解があると思い込んでるね。

657 :デフォルトの名無しさん:2010/04/22(木) 15:49:34
スマートに書きたいんだよ

658 :デフォルトの名無しさん:2010/04/22(木) 15:50:42
あれ、削除してないじゃん

659 :620:2010/04/22(木) 15:52:27
あのなー煽るカスは死ねよマジで
お前このスレなんだと思ってるわけ?
くだすれなんだよわかる?

おまえ初心者煽るぐらいしか楽しみないのかよ?

お前新入社員が初めて使うソフトをその日に習得できなければ煽るわけ?
結局初心者煽ってる奴なんて程度がしれてるわ
おれはプログラマじゃないが、おれの得意分野のことができない奴に
いちいち煽る気しないな。そんなの誰でも通る道だしw
同じスタートラインに立って同じ時間学習してそれで差ができたらまだしも
煽ってるお前らは一体何年プログラミングしてるんだ?え?カスが
俺はまだ2ヶ月目だ。2ヶ月の奴が10年やってる奴と同じことできないと煽るわけ?
そんな気持ち悪い奴らばかりなのか?プログラマってのはよ

660 :デフォルトの名無しさん:2010/04/22(木) 15:55:08
>2ヶ月の奴が10年やってる奴と同じことできないと煽るわけ?
最初の日本語の説明見てできると思ってないから
コードを晒せと言ったんだよ

こんなダウンロードコードなんて晒したところでどうってことないから心配しなくてもw
どうしても晒しちゃまずい部分だけ書き換えるとかすればいいんだよ

アドバイスも聞けないってことはプログラマー以前の問題

661 :620:2010/04/22(木) 15:56:10
do_work()
{
foreach()
{
try{
wc=new();
wc.DownloadFileAsync();

while(){} //タイムアウト5秒


catch{}
finaly{wc.dispose();}

File.Delete();

}

662 :デフォルトの名無しさん:2010/04/22(木) 15:56:36
>>659
お前こそこのスレなんだと思ってるわけ?

いつもこうだよ
質問する場所を間違えてる

663 :デフォルトの名無しさん:2010/04/22(木) 15:56:45
ずうずうしさは20年クラス

664 :デフォルトの名無しさん:2010/04/22(木) 15:57:23
くだすれなんだよわかる?(笑)

665 :620:2010/04/22(木) 15:57:47
>>660
コードが長いんだよ
間にいろいろ詰めてるからな
デリゲート無駄に行取るし

てか、必死でコピペしたところでするーすんじゃねーだろーな?

666 :デフォルトの名無しさん:2010/04/22(木) 15:59:36
別にいつも質問に対して回答が来ないわけじゃないけど、
香ばしいのに反応して煽る奴が常駐している。

逆に言うと、煽られた場合は平均以上に君は香ばしいの。

667 :620:2010/04/22(木) 16:01:56
お前らどうせ学校で同級生に差つけられてたから煽ることができず、
ケンカもできないから卑屈になったんじゃねーの?
そして、目下の人間を煽ることでようやく自尊心を回復できるとでも妄想抱いているんじゃないの?
もしかしたらおまえら俺のことライバルと思っているんじゃね?
俺みたいな才能ある奴が伸びてきたら自分の仕事取られるとでも思ってるのか?
あのなーこんなスレ覗いているようなのは仕事でやってるわけないだろ
同僚に聞いた方が100倍効率いいに決まってるだろ
だから心配せずに教えろ

668 :デフォルトの名無しさん:2010/04/22(木) 16:04:01
うちで働きませんか?


669 :デフォルトの名無しさん:2010/04/22(木) 16:04:14
凄いのはこの粘着は外れがないのな。
煽った奴は例外なく火病起こして伸びるんだわ。

670 :デフォルトの名無しさん:2010/04/22(木) 16:04:43
?が多すぎて読む気にならないです^^

671 :デフォルトの名無しさん:2010/04/22(木) 16:05:14
>>665
>>1->>3を読めコード貼るためのサイト紹介してるだろ
直近でもそのサイト使ってサンプルコードがもらえてるだろう

すべてにおいて自分よがりすぎる

672 :デフォルトの名無しさん:2010/04/22(木) 16:06:35
素晴らしい選球眼だな

673 :デフォルトの名無しさん:2010/04/22(木) 16:08:38
久々にレベルの高い基地外が来たな。面白いからもっとやれ

674 :620:2010/04/22(木) 16:09:16
void bw_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker bw = sender as BackgroundWorker;

string url = "", file = "";
int i = 0, count = (int)e.Argument;

foreach (Item item in Items)
{
url = item.URL;
file = item.FileName;

Directory.CreateDirectory(Path.GetDirectoryName(file));
downloadFileAsync(url,file);

if (File.Exists(file))
{
if (!((new FileInfo(file)).Length > 10000))
File.Delete(file);
}
bw.ReportProgress(++i);

if (bw.CancellationPending)
{
e.Cancel = true;
break;
}
}
}

ほらよ

675 :デフォルトの名無しさん:2010/04/22(木) 16:10:43
>>665の中身なんて思い込みだもんな
コード多いんですが・・・って言えば>>1>>3のサイトを知らなくても
スレ見てる人がこのサイト使えばいいよとアドバイスできるし

住人は冷たいわけじゃないよ?
いろいろちょっとやれば済む手続きをぬかしてファビョってるから
対処しようがないだけなんだよw

気が向けばぐぐってでてこないサンプルコード丸々書くようなお人よしも常駐してるんだしw

676 :デフォルトの名無しさん:2010/04/22(木) 16:12:39
IDEの自動インデント調整機能がなければ無視するレベルだなw

677 :デフォルトの名無しさん:2010/04/22(木) 16:13:54
>>671をガン無視でワロタw

678 :620:2010/04/22(木) 16:26:11
  private static void wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e){
   done = true;
  }
  public static void DownloadFileAsync(string url, string file){
   if (wc == null){
    wc = new WebClient();
    wc.DownloadFileCompleted += new AsyncCompletedEventHandler(wc_DownloadFileCompleted);
   }
   try{
    wc.DownloadFileAsync(new Uri(url), file);
    done = false;
    DateTime start = DateTime.Now;
    while (done == false){
     if (DateTime.Now - start > timeout){
      wc.CancelAsync();
      wc.Dispose();
      return;
     }
    }
   }
   catch { }
   finally{wc.Dispose();}
   return;
  }

679 :620:2010/04/22(木) 16:30:15
>>674
>>678
これをもっと品質向上させてさらに簡潔に書けたら
褒めてやる

680 :デフォルトの名無しさん:2010/04/22(木) 16:32:45
あほらし
面白そうなので独自設計でコード書いてたけどw

681 :620:2010/04/22(木) 16:42:40
なんだせっかく書いたのにシカトかよ
あれだけ偉そうに言ってた奴はどこ行ったんだ?
早く評価くれよ
もしかしてツッコミどころがないのかな?w

682 :デフォルトの名無しさん:2010/04/22(木) 16:44:57
やっぱりよくわかってないようだねw

683 :620:2010/04/22(木) 16:46:11
じゃあ教えてよ

684 :620:2010/04/22(木) 16:47:04
いっとくがこのコードはおまえらが言うように書いたからな
間違いあるならおまえらが間違ってる
おまえらの間違いはおまえらが修正しろよ

で、まだかよ?

685 :デフォルトの名無しさん:2010/04/22(木) 16:47:48
別に褒めて欲しくないからいい

686 :620:2010/04/22(木) 16:48:50
何だ口だけかよ
情けない奴らだな
煽るだけ煽りやがって
糞ったれが

687 :デフォルトの名無しさん:2010/04/22(木) 16:49:05
ここまで来ておちょくられただけだったのを認めるのも>>620のプライドに関わるからな。

688 :デフォルトの名無しさん:2010/04/22(木) 16:49:27
ほめて欲しいとは思ってないよなw
ほめる気も報酬払う気も無いのはわかってるからw

689 :デフォルトの名無しさん:2010/04/22(木) 16:51:23
ここは初心者の質問に便乗してクソが集まり勉強するスレ

690 :デフォルトの名無しさん:2010/04/22(木) 16:52:34
適当設計してみたけどこれで動くかね?
http://ideone.com/CQsUS

動くならタイムアウト関連入れるのは余裕だろ

691 :デフォルトの名無しさん:2010/04/22(木) 16:52:45
>>685が全て

692 :デフォルトの名無しさん:2010/04/22(木) 17:14:49
>>690のテスト用コード
http://ideone.com/2CNNw

まあ適当にロダから画像のアドレス持ってきたので落ちてくる画像については気にするな

693 :デフォルトの名無しさん:2010/04/22(木) 17:26:06
timeoutのテストできねーな・・・

694 :本当の609:2010/04/22(木) 17:35:55
>>692
ありがとうございます
組み込んでいないので推測だけど
これってダウンロードファイルごとにスレッド作っているから
同時にDLするんですよね?アクセス制限に引っかかるんじゃないですか?

↓こことか応答がない画像がたくさんあります
★TBS★加藤シルビアPart8♪はなまる・ナビ・AFO♪
http://yutori7.2ch.net/test/read.cgi/ana/1267541880/
ttp://img.20ch.net/ana/s/ana20ch101445.jpg
ttp://img.20ch.net/ana/s/ana20ch101446.jpg
ttp://img.20ch.net/ana/s/ana20ch101448.jpg
ttp://img.20ch.net/ana/s/ana20ch101449.jpg
ttp://img.20ch.net/ana/s/ana20ch101450.jpg
ttp://img.20ch.net/ana/s/ana20ch101451.jpg
ttp://img.20ch.net/ana/s/ana20ch101452.jpg
ttp://img.20ch.net/ana/s/ana20ch101454.jpg

695 :デフォルトの名無しさん:2010/04/22(木) 17:52:55
いらつくな

696 :デフォルトの名無しさん:2010/04/22(木) 18:45:46
ある文字のUTF文字コードを取得するにはどうすればよいですか。
Encoding utf = Encoding.GetEncoding("UTF-8");
string word = "あ";
byte[] bytes = utf.GetBytes(word);
で、「あ」のUTF-8は、E38182なのですが、
bytes[0] = 227
bytes[1] = 129
bytes[2] = 130
となります。


697 :デフォルトの名無しさん:2010/04/22(木) 18:49:44
>>696
できてんじゃん

698 :デフォルトの名無しさん:2010/04/22(木) 18:54:16
E38182これをバイト単位に分ける

E3 = 227
81 = 129
82 = 130

16進数と10進数の違い

699 :デフォルトの名無しさん:2010/04/22(木) 18:54:22
>>676
配列の中を16進数で表示させたらわかるよ

700 :デフォルトの名無しさん:2010/04/22(木) 19:13:56
>>697
できてましたか…。
>>698
10進数を16進数にするには、どうすればいいんでしょうね。
>>699
それってどうやるんですか?

そうすると、
Encoding utf = Encoding.GetEncoding("UTF-8");
string word = "あ";
byte[] bytes = utf.GetBytes(word);
string utfcode = "";
foreach(byte b in bytes) {
string sixteen = bを16進数にする処理。
utfcode = utfcode + sixteen;
}
みたいに書く必要があるってことですか?


701 :デフォルトの名無しさん:2010/04/22(木) 19:20:22
>>700
byteのメソッドにもToStringがあったと思うけど
こんな感じで
ttp://www.woodensoldier.info/computer/csharptips/48.htm

702 :デフォルトの名無しさん:2010/04/22(木) 19:44:41
List<string> list=new List<string>();
↑実際には別クラスの戻り値
string[] strs= list.ToArray();
これは内部でどんな処理しているのですか?
foreachで回そうと思っているのですが
List<string> list2=list;
で回した方が効率的ですか?

703 :デフォルトの名無しさん:2010/04/22(木) 19:51:30
後で読んだときに分かりやすいように書けばいいよ

704 :デフォルトの名無しさん:2010/04/22(木) 20:14:24
>>702
意味がよくわからない。
foreach(string item in list) でいいんじゃないの?
何でforeachで回すために別変数に受けるの?

705 :デフォルトの名無しさん:2010/04/22(木) 20:57:24
>>704
いいえ違います

706 :デフォルトの名無しさん:2010/04/22(木) 21:01:10
>>704
どこかで配列の方が処理が速いと書いていたのでそうしようと思いました

707 :デフォルトの名無しさん:2010/04/22(木) 21:03:54
最初から配列なら速いかもしれないが
配列にコピーするのはメモリと時間を食うぞ

708 :デフォルトの名無しさん:2010/04/22(木) 21:04:24
いいえ違います

709 :デフォルトの名無しさん:2010/04/22(木) 21:05:39
>>707
配列の場合は参照渡しではないということですか?

710 :デフォルトの名無しさん:2010/04/22(木) 21:07:49
>>709
いや参照でしょ
stringは参照だよ
なのでListが持ってるCountを元にstring配列を用意して
参照の張替えするだけでしょ

711 :デフォルトの名無しさん:2010/04/22(木) 21:10:14
>>710
わかりました。参照の張替えやってみます。

712 :デフォルトの名無しさん:2010/04/22(木) 21:13:34
えw
話がおかしくなってないか?w

713 :デフォルトの名無しさん:2010/04/22(木) 21:16:59
>>710
その参照を張替を要素ごとにするから
要素ごとポインタ用のメモリを確保するということですか?
List<string> list2=list;
だと、1つ確保すればいいだけだからメモリを余り食わないという理解でいいですか?

714 :デフォルトの名無しさん:2010/04/22(木) 21:21:41
メソッドの内容は10行以上書かないようにしているんですが、いいですか?

715 :デフォルトの名無しさん:2010/04/22(木) 21:23:17
>>709>>710
自演乙


716 :デフォルトの名無しさん:2010/04/22(木) 21:30:23
10行は流石に少なすぎると思う
なるべく30〜50行以内にした方がいいとは思うが
100行くらいまでは許容範囲内

717 :デフォルトの名無しさん:2010/04/22(木) 21:31:02
え?

718 :デフォルトの名無しさん:2010/04/22(木) 21:33:20
>>716
え?w

719 :デフォルトの名無しさん:2010/04/22(木) 21:33:25
こんなコード書いて実行したら
http://ideone.com/QJbKR
こんな結果になったな
http://uproda.2ch-library.com/238029ex2/lib238029.png

720 :デフォルトの名無しさん:2010/04/22(木) 21:34:59
関数分けすぎたらお前のコードは分からんと言われる

721 :719:2010/04/22(木) 21:38:36
結論から言うと参照じゃなくコピーを作ってることになるのかな?
listをわざわざArrayにするのは止めた方がいいかもねw

722 :719:2010/04/22(木) 21:40:34
さて
参照型だよと上で言ってしまったんだが
ここで勉強したんだよな・・・
http://ufcpp.net/study/csharp/oo_reference.html#classification

723 :デフォルトの名無しさん:2010/04/22(木) 21:40:44
関数内は短くしたほうが見やすいと思ったけど
確かに短くするということは関数だらけになるわけで
わからなくなりそうですね

724 :デフォルトの名無しさん:2010/04/22(木) 21:43:18
クラスは、値のようにスタック上にメモリを確保するのではなく、動的にメモリを割り当て、
かつGC の対象となるため、こうした処理を多量に反復するような場合)、
メモリ確保の観点でオーバーヘッドの高い処理となる

725 :719:2010/04/22(木) 21:49:13
ああ,ぼけてた
いいのか
新しく書き換える場合は参照も入れ替わるから

参照先が同じかどうかって確認する方法ってあったっけ?
C/C++だとポインターの中身を表示すればよかったけど

726 :デフォルトの名無しさん:2010/04/22(木) 21:59:13
ほんとあれだな
ID無いと自演なのか成りすましなのか質問者なのかさっぱりわからんな

727 :デフォルトの名無しさん:2010/04/22(木) 22:08:11
次のテンプレに質問者はトリップつけるように明記したらどうでしょう
数人の基地外がずっと粘着してるみたいだから

728 :デフォルトの名無しさん:2010/04/22(木) 22:24:36
同意

729 :デフォルトの名無しさん:2010/04/22(木) 22:26:20
そんな事をしなくてもいつのまにかスムーズにいくのがプログラム板

730 :デフォルトの名無しさん:2010/04/22(木) 22:32:32
>>721
.NETの命名規約的に、ToXxx ってなってる類は要素のコピー作る。
ToArray() した時点で、配列側をいじっても List には反映されない。

コピーつっても参照情報のコピーだから
要素の中身を変更すれば元の側にも反映されるんだけど、
.NET の string は immutable に作ってあるから変更できない。


731 :デフォルトの名無しさん:2010/04/22(木) 22:35:40
StringBuilder.ToStringは以後そのStringBuilderを使用しない限りはコピー作られないけどね

732 :デフォルトの名無しさん:2010/04/22(木) 22:41:20
>>731
今はそういう実装かもしれないが、そうでない実装も出来るだろ。

733 :デフォルトの名無しさん:2010/04/22(木) 22:50:23
>>719はこんな感じかね?
http://uproda.2ch-library.com/238096818/lib238096.png

青がList<string>の参照の状態
黄緑がarray01の参照の状態
オレンジがarray02の参照の状態

List[0] = "ぬるぽ";

をやった場合の参照が紫

734 :デフォルトの名無しさん:2010/04/23(金) 00:21:47
WPFのC#でフォルダ内の画像をファイルから読みこんで表示するのは、どうしたらよいですか?
フォルダ内の画像の数はわからないので、xamlでは指定できないと思うのですけど。
string[] jpgs = Directory.GetFiles(targetDirectory, "*.jpg");
foreach(string jpg in jpgs) {
BitmapImage bmp = new BitmapImage(jpg);
Image image = new Image();
image.Width = 200;
image.Height = 150;
image.Source = bmp;
}
これでなにが足りないのか、あるいはもっとこうしたらいいとか、アドバイスお願いします。


735 :デフォルトの名無しさん:2010/04/23(金) 00:25:04
>表示するのは
どういう風に表示したいの?
サムネ?

736 :デフォルトの名無しさん:2010/04/23(金) 00:26:43
>>735
yes

737 :デフォルトの名無しさん:2010/04/23(金) 00:30:26
WPFでできるかどうか知らんが、キャンバス用のデカイbmpを作って
そこへサムネを並べるように転送するとかは?

他にも方法があるかもしれないが

738 :デフォルトの名無しさん:2010/04/23(金) 00:31:22
まあ普通はListBoxとかつかってバインディング

739 :デフォルトの名無しさん:2010/04/23(金) 00:43:14
>>738
そのListBoxのバインディング方法を教えてください。


740 :デフォルトの名無しさん:2010/04/23(金) 00:47:36
先にBitmapImageで大きさを指定してImageに入れる方がパフォーマンスいいよ

741 :デフォルトの名無しさん:2010/04/23(金) 00:49:01
>>739
この辺は?
http://blogs.wankuma.com/kazuki/archive/2009/01/12/166166.aspx

742 :デフォルトの名無しさん:2010/04/23(金) 00:52:17
まあここ読みながらやってみ
http://msdn.microsoft.com/ja-jp/library/ms752347%28v=VS.100%29.aspx


743 :デフォルトの名無しさん:2010/04/23(金) 00:53:42
簡単にコレクションコントロール作れて夢が広がりんぐだなぁ

744 :デフォルトの名無しさん:2010/04/23(金) 00:54:55
>>743
※重くなければ

.netもかなり嫌われてきたのにその上を行くからなあ

745 :デフォルトの名無しさん:2010/04/23(金) 01:08:14
夢が萎みんぐ

746 :デフォルトの名無しさん:2010/04/23(金) 01:12:58
>>745
WPFって表現の幅を広げるためにウインドウが今までのようなのじゃなく
ゲームとほぼ同じで動いてるからねえ

747 :デフォルトの名無しさん:2010/04/23(金) 01:31:16
>>741
ありがとうございます。
そこで手に入れたWpfImageViewerApplicationをベースに、メインのイメージ(Image)を削除し、サムネイルだけにしてみました。
これだとサムネイルが小さすぎます。
ListBoxを使うと、サムネイルを拡大して表示することは無理ですか?
200×150ピクセル程度にしたいです。


748 :デフォルトの名無しさん:2010/04/23(金) 01:35:36
>>747
こっちのStyleいじればいいんでないの?
http://blogs.wankuma.com/kazuki/archive/2009/01/12/166182.aspx

749 :デフォルトの名無しさん:2010/04/23(金) 01:35:50
>>742
ひょっとしてですが、ここをざっくり読むと、バインディングだと、ListBoxに表示(=スクロール型で、サムネイルが小さい)しかできないんでしょうか?
いわゆるエクスプローラー風に縦横にサムネイルを表示するのを想像してました。
そうするには、737の方法になっちゃうんでしょうか?


750 :デフォルトの名無しさん:2010/04/23(金) 01:39:33
WPFってできないことは無いってレベルじゃないかな?
使いこなすのが大変なだけで

俺も勉強中なんだけどhtmlのCSSのような情報を書いておけば
コントロールのスタイルをいじり放題みたいだし

751 :デフォルトの名無しさん:2010/04/23(金) 01:41:18
>>748
はい。そっちでやってます〜。
Styleって、ViewerWindow.xamlでいいんですよね?
とりあえずこれの拡大縮小とか回転はいらないので、それを削って、ListBoxだけ表示してみました。
が、10枚くらい表示したら、サムネイルが小さくて。


752 :デフォルトの名無しさん:2010/04/23(金) 01:49:49
ItemsPanelにWrapPanel使えばいい

753 :デフォルトの名無しさん:2010/04/23(金) 01:52:11
しかしまぁよくVistaのときにWPFに完全移行しようとか考えたよね
今から思うと馬鹿じゃねって感じだけど
頓挫して当然だわ

754 :デフォルトの名無しさん:2010/04/23(金) 01:58:17
ttp://tsushima.2ch.at/s/news2ch60367.png
緑の枠のところいじったらサムネ大きくあったけど

755 :デフォルトの名無しさん:2010/04/23(金) 02:06:04
>>754
おお。ほんとです。グレートすぎる!!!
大感謝。

>>752
DockPanelをWrapPanel
にしてみたら、ウィンドウのリサイズに追従しなくなっちゃったんですけど、

□□□□□|ウィンドウの外

でなくて、
□□□□□
□□□□□
みたいにするには?


756 :デフォルトの名無しさん:2010/04/23(金) 02:13:44
>>752
いや、寝ぼけてました。ごめん。できました。いやできてないけど。
ItemsPanelをWrapPanel

DockPanelをWrapPanel
に間違えてました。
ItemsPanelをWrapPanelってどうやるんですか?
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
を、
<Setter Property="WrapPanel">
にしたら、値が不正とエラーです。


757 :デフォルトの名無しさん:2010/04/23(金) 02:17:19
変えるのはそのサンプルのStackPanelの方

758 :デフォルトの名無しさん:2010/04/23(金) 02:18:25
「ItemsPanelにStackPanelを使う」で
Property="ItemsPanel"をProperty="WrapPanel"に変更するって発想はなかったわ

759 :デフォルトの名無しさん:2010/04/23(金) 02:27:06
>>757
あり?
<DockPanel>
<StackPanel>
ボタン関係
</StackPanel>
<ListBox>
</ListBox>
</DockPanel>
ですけど、これを
<DockPanel>
<WrapPanel>
ボタン関係
</WrapPanel>
<ListBox>
</ListBox>
</DockPanel>
にしても、ListBoxには無関係な気がするんですけど。
試してみましたが、やっぱり関係なかったです。


760 :デフォルトの名無しさん:2010/04/23(金) 02:32:17
ItemsPanelTemplateの中にあるだろ、StackPanel

761 :デフォルトの名無しさん:2010/04/23(金) 02:36:39
http://codepad.org/PQR0i75N
checkbox1にチェックを入れるとloadkashiClasses[0].check = true;でnullreferenceと例外を返されます。
21行目でちゃんと定義できてないんだと思うのですが何がいけないのでしょうか

762 :デフォルトの名無しさん:2010/04/23(金) 02:39:40
WPFは慣れるまで苦労するなw
ttp://tsushima.2ch.at/s/news2ch60373.png

つまり

ListBox.ItemsPanelというプロパティがあって
サンプルの方はC#風に書くとListBox.ItemsPanel = StackPanel ってことだ
ListBox.ItemsPanel = WrapPanel

にしてOrientation="Horizontal"以外に折り返し動作をする何かを指定すれば
所望の動作になると思う。WPFは知らんのでこの設定は不明

763 :デフォルトの名無しさん:2010/04/23(金) 02:43:26
>>761
21行だけだとあくまでクラスの配列だけだよ
つまりクラスの参照の配列だけ

クラスその物も10個作らないと

764 :デフォルトの名無しさん:2010/04/23(金) 02:46:10
クラス内部の初期化とかどうするのかわからんけどどこかのタイミングでこういう処理がないと駄目
            for (int i = 0; i < loadkashiClasses.Length; i++)
            {
                loadkashiClasses[i] = new kashiClass();
            }

765 :デフォルトの名無しさん:2010/04/23(金) 02:50:19
>>760、762
詳しくありがとうございます。
だめもとで、
<WrapPanel Width="1000" />
としてみたらうまくいきました!
みなさんサンクスです。


766 :デフォルトの名無しさん:2010/04/23(金) 04:33:37
>>763
>>764
回答ありがとうございます
ちょうど例外が出た40行目でloadkashiClasses[0].checkだけ初期化しようとしてみてたのですが
今回間違ってたのは初期化の仕方が間違えているということであってますか?

767 :デフォルトの名無しさん:2010/04/23(金) 04:58:17
>>766
あれだとkashiClassが10個入る配列を初期化しただけなので、kashiClass[0]〜[9]には全部"null"が入ってる。→使おうとするとぬるぽ
という事で>>764みたいな感じでkashiClassのインスタンスを10個作って配列に入れてあげないといけない。

768 :デフォルトの名無しさん:2010/04/23(金) 05:27:54
Formのサイズを保存しようと思ってFormのClientSizeを保存して
Properties.Settings.Default.Reload();
とすると、サイズは反映されるけど中のコントロールの配置は変更されないんですが

769 :デフォルトの名無しさん:2010/04/23(金) 13:40:52
Resizeイベント来てないのかしら

770 :デフォルトの名無しさん:2010/04/23(金) 15:45:13
来てません・・・

771 :デフォルトの名無しさん:2010/04/23(金) 16:17:45
じゃあ起こせ

772 :デフォルトの名無しさん:2010/04/23(金) 16:24:10
C#のジェネリックデリゲートって
C++のBoost::Bindみたいに引数や戻り値の数の差を吸収させるような書き方って出来ない?

具体的にはこう言うのが出来ないかなぁと・・・

var test = new List<string> { "test", "test2" };
test.ForEach( Console.WriteLine ); //OK
test.ForEach(MessageBox.Show); //戻り値があるのでNG

test.ForEach((e) => MessageBox.Show(e)); //もちろんこれはOK

test.ForEach(System.Diagnostics.Debug.Print); //これはよくわからないが、条件付き属性なので作成できないやらのエラー

ラムダ使えって話なんでしょうか

773 :768 ◆5JEL9/upJo :2010/04/23(金) 16:37:39
>>769
Resizeイベント無しでFormサイズが変えられている場合
どうすればちゃんとリサイズできますか?
というか、他にもっと良い方法がありましたら教えてください

774 :デフォルトの名無しさん:2010/04/23(金) 16:49:46
最終的にAction<T>に変換できないなら無理

775 :デフォルトの名無しさん:2010/04/23(金) 16:50:49
さらに言うとSystem.Diagnostics.Debug.PrintはDEBUGシンボル定義してないからエラーなだけだろう

776 :デフォルトの名無しさん:2010/04/23(金) 17:04:58
むりか、諦めてラムダでかくお

>>775 それが定義してるんだ

あんがとよ!

777 :768 ◆5JEL9/upJo :2010/04/23(金) 18:49:41
糞ったれが
バインドせずに手動でClientSizeに設定したらいけたわ
お前ら知ってて教えなかったな

778 :デフォルトの名無しさん:2010/04/23(金) 18:51:15
>>768の情報だけだとお前がどうやってるかなんてわかるわけねーだろ

コード晒せっていってるだろ糞

779 :デフォルトの名無しさん:2010/04/23(金) 18:52:17
ここの連中がバカばっかりで知らなかったのかもよ。
まぁ知ってて教えなかったのかもしれないけど。ここの連中は
「初心者バーカwww」と楽しむ人も多いし。

780 :デフォルトの名無しさん:2010/04/23(金) 18:54:58
>>779
お金や仕事がもらえる客なら、どういうことで悩んでるか解決するために力を注ぐが
こんなところでの質問なんて不備があれば無視されるのは普通だろ

781 :768 ◆5JEL9/upJo :2010/04/23(金) 18:58:43
>>780>>778
不備あるなら指摘しろよ

782 :768 ◆5JEL9/upJo :2010/04/23(金) 19:00:43
てかさーバインドするとResizeイベントが呼び出されないってなんで書いてないわけ?
お前らこういうのどうやって知るわけ?
こんなつまらないところで10時間もかかったんだけどwww
まじで死ねよカス

783 :デフォルトの名無しさん:2010/04/23(金) 19:03:59
>>782
頭固すぎ

>バインドするとResizeイベントが呼び出されない
じゃあ手動で設定してみよう->イベント起きた

で追求して調べてもいいし仕様なんだろうで置いておいてもいいし

784 :デフォルトの名無しさん:2010/04/23(金) 19:14:29
WindowsFormsのプロジェクト作る
FormのプロパティグリッドでApplicationSettingsのPropertyBindingのダイアログ開く
ClientSizeに新規でSizeって名前のUserスコープの新規アプリケーション設定にバインド
雷アイコンからFormのResizeイベントにハンドラ作って上のSizeアプリケーション設定をDebug.Print
同様にFormのClickイベントでアプリケーション設定をReload
デバッグ実行
適当にフォームのサイズをドラッグで変更
フォームをクリック

うん、ちゃんとResizeは発生してるな

785 :768 ◆5JEL9/upJo :2010/04/23(金) 19:34:05
>>783
Properties.Settings.Default.FormClientSize
こういう風に個別にプロパティにアクセスできるってのがわからなかったんだよ

786 :768 ◆5JEL9/upJo :2010/04/23(金) 19:45:37
>>784
>Sizeアプリケーション設定をDebug.Print
これはどういう意味ですか?
Properties.Settings.Default.Save();
のことですか?

同じようにやってみたけど、
clickイベントに
Properties.Settings.Default.Reload();
Resizeイベントに
Properties.Settings.Default.Save();

クリックするとなぜが微妙にフォームが動く
(ちゃんとサイズが保存されてないってことじゃないの?)
フォームリサイズ後アプリを再起動すると
フォーム内のlistbox(anchorを縦横設定したもの)がサイズ変更されないままで
フォームだけがサイズ変更される

787 :768 ◆5JEL9/upJo :2010/04/23(金) 19:47:24
>>786
>クリックするとなぜが微妙にフォームが動く
このとき、listboxも微妙に動く

プロパティのセーブの仕方が悪いのか
ロードの仕方が悪いのか
とにかく上記のやりかただとまともに機能しない

788 :デフォルトの名無しさん:2010/04/23(金) 19:47:54
だーかーらー

コード出せって

789 :768 ◆5JEL9/upJo :2010/04/23(金) 19:50:09
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Resize(object sender, EventArgs e)
{
Properties.Settings.Default.Save();
}

private void Form1_MouseClick(object sender, MouseEventArgs e)
{
Properties.Settings.Default.Reload();
}
}
}

790 :768 ◆5JEL9/upJo :2010/04/23(金) 19:53:53
>>788
その他は>>784と一緒
FormのプロパティグリッドでApplicationSettingsのPropertyBindingのダイアログ開く
ClientSizeに新規でSizeって名前のUserスコープの新規アプリケーション設定にバインド

てか日本語理解出来ない奴がいるな
どうせ答える気ないんだろ?邪魔なんだよまったく

791 :デフォルトの名無しさん:2010/04/23(金) 19:59:22
>>790
この辺と関係あるんじゃないの?
http://dobon.net/vb/bbs/log3-29/17479.html

792 :デフォルトの名無しさん:2010/04/23(金) 20:00:39
>てか日本語理解出来ない奴がいるな
>どうせ答える気ないんだろ?邪魔なんだよまったく
せめて同じような状態のミニマムなプロジェクト一式だけでもだせよ

質問者がなるべく回答者の手を煩わせないような質問の仕方を
するのも礼儀だぜ

793 :768 ◆5JEL9/upJo :2010/04/23(金) 20:04:27
>>792
ウザイなお前はお前が答える気がないのは見え見えなんだよ
そうやって俺が答えもらえないような状況作ろうってんだろ
気持ち悪いんだよお前
お前はここにずっと粘着してる基地外だろ


>Sizeアプリケーション設定をDebug.Print
これはどういう意味ですか?
Properties.Settings.Default.Save();
のことですか?

この質問に答えろよ
これにソースなんているのかよボケが
これさえも答えないのにいちいち条件出すんじゃねーようぜー

794 :768 ◆5JEL9/upJo :2010/04/23(金) 20:06:05
>>792
あのソース以上に何が必要なんだよ?え?
何がわからないんだ?え?入ってみろハゲ
プロジェクトなんて出すかよwwwアホかwww

795 :768 ◆5JEL9/upJo :2010/04/23(金) 20:08:36
>>792
お前おれのユーザー情報取得してずっと粘着してやろうって魂胆なんだろ?
お前の人間的にも人生においても終わってるから
お前は友達もいないんだろ?池沼めが

796 :デフォルトの名無しさん:2010/04/23(金) 20:09:26
こうやっていつまでたっても解決しないのであった

797 :デフォルトの名無しさん:2010/04/23(金) 20:09:46
はいはい、ソッスね。

798 :デフォルトの名無しさん:2010/04/23(金) 20:11:48
何が768の琴線に触れたのか全く分からんかった

799 :デフォルトの名無しさん:2010/04/23(金) 20:20:46
ここの連中の初心者いじめ連中がまた暴れてるのか

800 :768 ◆5JEL9/upJo :2010/04/23(金) 20:23:44
昔はもっとまともだったのになこのスレ
なんでカスみたいな奴が常駐してるんだ?
他にやることないのかよ

801 :デフォルトの名無しさん:2010/04/23(金) 20:23:47
>>798
答えがすぐに得られなくて勝手に当り散らしてるだけだよ
>>777とか見てみなよ

802 :デフォルトの名無しさん:2010/04/23(金) 20:25:03
>>799
日本語で説明されたってこの機能使ったこと無いけど
サンプルソース見ていじれば代案出せる人もいるはずなのに
コードださないんだからすぐに解決するわけもなく・・・

803 :768 ◆5JEL9/upJo :2010/04/23(金) 20:25:05
こんな質問程度にソース晒せだ
プロジェクト晒せだ
アホか

804 :768 ◆5JEL9/upJo :2010/04/23(金) 20:26:01
>>802
出しただろボケ
御託いらねーんだよわからないなら黙っとけ

805 :768 ◆5JEL9/upJo :2010/04/23(金) 20:27:00
機能使ったこともないだぁ?
だったら黙ってろよ
何がソースだせだボケw
ソース出して何がわかるっていうんだ?
アホか

806 :801:2010/04/23(金) 20:28:04
で、同じようにこちらで再現プログラム書いたらリサイズイベントくるんだが・・・
どうしてくれよう

807 :デフォルトの名無しさん:2010/04/23(金) 20:28:16
トリップ付けてくれてるとあぼーんし易くていいわ。

808 :768 ◆5JEL9/upJo :2010/04/23(金) 20:31:34
>>806
ちゃんとフォーム内にコントロール作ったか?
フォームのサイズ自体は変更されるが
中のコントロールがデザイナーのサイズのまま変更されてない

できたというならソース晒せ

809 :デフォルトの名無しさん:2010/04/23(金) 20:40:04
追従するなあ・・・・
zオーダーとかDockの指定がおかしいんとちゃうの?

810 :768 ◆5JEL9/upJo :2010/04/23(金) 20:42:09
>>809
だからできたというソース晒せよ
俺と同じやり方でやったんだろ?
絶対無理だから

811 :デフォルトの名無しさん:2010/04/23(金) 20:42:55
ほれこっちで再現したプロジェクト一式
http://www1.axfc.net/uploader/Sc/so/106149.zip

812 :768 ◆5JEL9/upJo :2010/04/23(金) 20:43:15
結局これだ
ソース晒しても誰も答えないしなwww
糞荒しまじで消えろボケ

813 :デフォルトの名無しさん:2010/04/23(金) 20:58:01
>>812
荒らし乙

814 :768 ◆5JEL9/upJo :2010/04/23(金) 20:59:06
>>786をちゃんと読めよ目盲
DockじゃなくてAnchorでやれ
できないだろ?な?できないよな?
anchorは使うなって?
Anchor使わないアプリがどこにあるんだよw

815 :デフォルトの名無しさん:2010/04/23(金) 21:01:13
this.Invalidate();
この一行書くだけでええんとちゃうの?

816 :デフォルトの名無しさん:2010/04/23(金) 21:53:52
お前ら荒らしの相手するなよ

817 :デフォルトの名無しさん:2010/04/23(金) 21:55:32
>>815
できてから言え

818 :デフォルトの名無しさん:2010/04/23(金) 22:21:54
768=loopy

819 :デフォルトの名無しさん:2010/04/24(土) 00:33:09
C#でTwitterクローン作ってるサイトとかないですか?

820 :デフォルトの名無しさん:2010/04/24(土) 02:24:29
Formの中の部分を300,200とかにして外枠をそれにあわせるようにするには
自分で計算するしかないのかな?

821 :デフォルトの名無しさん:2010/04/24(土) 02:50:22
ClientSize

822 :デフォルトの名無しさん:2010/04/24(土) 02:59:04
ありがとうございます

823 :デフォルトの名無しさん:2010/04/24(土) 06:23:27
あるフォルダを監視して変化があったファイルを
タスクトレイ付近からニョキニョキっと通知するようなソフト作りたいです

824 :デフォルトの名無しさん:2010/04/24(土) 06:52:31
>>823
System.IO.FileSystemWatcherだな。

825 :デフォルトの名無しさん:2010/04/24(土) 07:23:15
ありがとうございます

826 :デフォルトの名無しさん:2010/04/24(土) 08:00:02
C#で3Dグラフィックスやろうと思ったらManaged DirectXというのをやればいいですか?
ミドルウェア、ラッパーライブラリとかもあるんでしょうが、大本のAPIとしてはこれでいいですか?

827 :デフォルトの名無しさん:2010/04/24(土) 08:48:22
大本はDirectX
でそれを.NETから扱うライブラリとしてManaged DirectXとかSlimDXとかAPI Code Packとかがある

828 :デフォルトの名無しさん:2010/04/24(土) 09:19:48
こことかどうだい
Managed DirectX
http://sorceryforce.com/manageddirectx/direct3d_stepup.html

829 :デフォルトの名無しさん:2010/04/24(土) 09:45:13
.NET Frameword 4.0ってベースは2.0のまま?
なんか変わった?

830 :デフォルトの名無しさん:2010/04/24(土) 09:59:26
設計は変わってないが実装しなおしたからバージョンを変えてある
フォームの初期化タイミングが以前と違ってたりしてはまった

831 :デフォルトの名無しさん:2010/04/24(土) 10:04:16
.NET Framework 2.0〜3.5までは共通言語ランタイムCLR 2.0の部分を変えずに,その上のライブラリを
改良および追加してきたが,バージョンを重ねるごとに構成が複雑になってきた。そこで.NET Framework 4.0
ではCLRを4.0にバージョンアップし,フレームワークの各種ライブラリを抜本的に作り直す。

 CLRをバージョンアップしても互換性は最大限追求する。作成するプロジェクトのマルチターゲット機能を堅持し,
選択できる.NET Frameworkのバージョンとして,2.0/3.0/3.5と同様に4.0を含める。また,同一プロセス内のSide by Sideを
実現し,CLR 2.0と4.0の両方を同一環境でロード可能にする。アセンブリ(dll)ごとにロードするCLRのバージョンを決定できるという。
http://itpro.nikkeibp.co.jp/article/NEWS/20090127/323636/


けっこうかわってるみたいね

832 :デフォルトの名無しさん:2010/04/24(土) 10:36:23
ランタイム結構変わっとるぜ。
まあ3.5SP1でも結構変わったけどな、SPってレベルじゃない変わり方だった。


833 :デフォルトの名無しさん:2010/04/24(土) 17:01:36
Managed DirectXってもう開発終わったよな。
これ使うくらいならXNAが良いんじゃないか

と思ったけど、XNAも9世代のだし古いな。
これからはWindows API Code Packだな。MS謹製だし

834 :デフォルトの名無しさん:2010/04/24(土) 17:03:38
>>833
>Windows API Code Pack
また新しいの増えたのかw

835 :デフォルトの名無しさん:2010/04/24(土) 17:05:56
DirectXはまだC++でやっといたほうがいいよなw

836 :デフォルトの名無しさん:2010/04/24(土) 17:22:13
AoEのスタジオも潰したし窓のDirectX切る気満々だな

837 :デフォルトの名無しさん:2010/04/24(土) 18:40:02
DirectXだのXNAだのなんでゲームはわけわからんライブラリ集使わなきゃいけないんだろうな。
スリーディーでグリグリ動くようなのならまだしも
ファミコンのマリオやドラクエみたいなグラフィックの簡単なゲームならドトネトだけでいいだろ。

838 :デフォルトの名無しさん:2010/04/24(土) 18:43:25
>>837
千人同時プレイできるマリオなんじゃないの

839 :デフォルトの名無しさん:2010/04/24(土) 18:52:56
実際ファミコンレベルですら厳しい

840 :デフォルトの名無しさん:2010/04/24(土) 18:53:56
2DならDXライブラリがいい

841 :デフォルトの名無しさん:2010/04/24(土) 18:57:19
C#で使うと気持ち悪いからなあ
結局完全にラップしてしまって自前でDirectX叩くのとそう変わらなくなる

842 :デフォルトの名無しさん:2010/04/24(土) 19:38:18
ユーザーコントロールってどういうときに使うのん?

843 :デフォルトの名無しさん:2010/04/24(土) 20:24:05
自分でコントロール作ってコード再利用したいとき
複数のコントロールをひとつにまとめたいとき
とか

844 :デフォルトの名無しさん:2010/04/24(土) 20:28:00
他とは違う見た目のコントロールを作りたいとき、
要するにオーナードローをやりたいときに便利

VBでしかまだ作った事無いが、
デザイナにちゃんと見た目が表示されるし、
プロパティ作ったらそれが本当にデザイナのプロパティに表示されるし、
なかなか凄いぞ

845 :デフォルトの名無しさん:2010/04/24(土) 20:47:29
>>844

それカスタムコントロール
WPFやればわかるけどカスタムコントロールは低レベルすぎて糞

846 :デフォルトの名無しさん:2010/04/24(土) 20:48:15
でもイベント関連が結構面倒だね

847 :デフォルトの名無しさん:2010/04/24(土) 20:53:03
WPF触るとOnPaintのオーバーライドとかアホらしくてやってられなくなる
なんでちょっと見た目変えるだけのために大量のコード書かないといけないのか

848 :デフォルトの名無しさん:2010/04/24(土) 20:55:48
WPFってWindows Formsをシコシコするより難しそう
なんかXML?だか覚えなきゃいけないんでしょ

グラボもきつそうだし

849 :デフォルトの名無しさん:2010/04/24(土) 21:04:20
XAMLはともかくXMLわからないのはプログラマとしてやばい

850 :デフォルトの名無しさん:2010/04/24(土) 21:12:57
既存にはない動作をするコントロール→カスタム
既存のを組み合わせたり、見た目を変える程度→ユーザー
で判断してる

851 :デフォルトの名無しさん:2010/04/24(土) 21:19:16
個々のタブページの中身を別々の開発者が作る事を想定して、
それぞれをユーザコントロールにして、作り始めたはいいが
結局自分一人でそれぞれのユーザコントロールを作って、
タブに貼り付けているという・・・orz。


852 :デフォルトの名無しさん:2010/04/24(土) 21:34:47
>>851
まあ、フォームのコードがゴチャゴチャせずに済むわけだから
一人でやる場合でも十分意味はあるでしょ。

853 :デフォルトの名無しさん:2010/04/24(土) 21:39:51
>>852
うむ


854 :デフォルトの名無しさん:2010/04/24(土) 22:29:16
まさに >>852 の目的でひとりで作ってた去年の今頃。w

855 :デフォルトの名無しさん:2010/04/24(土) 22:36:21
普通タブのなかにフォームを開くよね

856 :デフォルトの名無しさん:2010/04/24(土) 22:38:06
そんなことしない。

857 :デフォルトの名無しさん:2010/04/24(土) 22:39:02
Visual C# Expressの日本版は4/27か
楽しみだのお

858 :デフォルトの名無しさん:2010/04/24(土) 22:42:55
激重でメモリ食いまくり言われてたのは結局直ったの?

859 :デフォルトの名無しさん:2010/04/24(土) 22:45:17
betaよりは遥かにマシになった
ちょうど出たばっかりの頃の2005みたいな感じ

860 :デフォルトの名無しさん:2010/04/24(土) 22:46:59
今は最低2GB搭載だから直るも何も問題ないだろ

861 :デフォルトの名無しさん:2010/04/24(土) 22:49:40
vmware上で使うからあんま重いのは困る

862 :デフォルトの名無しさん:2010/04/24(土) 22:50:03
やっべ俺1GBしかないいわ
明日アキバで1GBのメモリ買ってくる

863 :デフォルトの名無しさん:2010/04/24(土) 23:00:59
1GBマシンじゃCPUも相当苦しいんじゃね。
俺も人の事は言えないけど。
PhenomIIマシン組むかな。

864 :デフォルトの名無しさん:2010/04/24(土) 23:22:38
Xeon 5520*2 HT なPCで使ってるけど、2005/2008に比べてちょっと
重い感じ。

865 :デフォルトの名無しさん:2010/04/25(日) 01:37:31
初心者フォーム1枚板プログラムから卒業して、複数フォーム使ったソフトをC#で作ってみたいんだけれど
フローティングツールバーってどうやって作るの?

866 :デフォルトの名無しさん:2010/04/25(日) 01:44:52
移動処理の基本はこれと同じ
http://dobon.net/vb/dotnet/form/moveform.html

フォームから出さないならDockをNoneにして上の処理をこなせば移動可能
あとはドッキングさせたい境界に近くなったら吸い付き処理をやって離されたら
その位置にドッキングさせる

867 :デフォルトの名無しさん:2010/04/25(日) 01:46:11
完全に外に出したい場合は動的にFormをこさえて
移動可能にしたいコントロールをそっちの配下にする

868 :デフォルトの名無しさん:2010/04/25(日) 02:05:18
VS2008ProとSQLServer2008で簡単なデータの出し入れから始めたいのですが
初心者向けのサイトでお薦めはないでしょうか。
C#の基本的なことはわかっているつもりです。お金が無いので書籍ではなくサイトでお願いします。

869 :デフォルトの名無しさん:2010/04/25(日) 02:24:15
>>868
@IT:基礎解説:ADO.NET基礎講座
ttp://www.atmarkit.co.jp/fdotnet/basics/adonet_index/index.html

870 :デフォルトの名無しさん:2010/04/25(日) 06:57:01
ユーザーコントロールの内部コントロールのイベントをFormで取得しようとしたら
イベントごとにデリゲート作らなきゃならないのか

871 :デフォルトの名無しさん:2010/04/25(日) 07:12:50
>>870
コントロールが最初から容易してるデリゲートその物を
publicで公開しちゃうとか

872 :デフォルトの名無しさん:2010/04/25(日) 07:28:55
C#にラベル付きbreakやcontinueはないのですか?

873 :デフォルトの名無しさん:2010/04/25(日) 07:30:18
>>871
ああそうか
どっちみちpublicでデリゲート作るんだから同じことか

874 :デフォルトの名無しさん:2010/04/25(日) 07:37:09
EventHandler<T>で済まそうよ。

875 :デフォルトの名無しさん:2010/04/25(日) 07:43:45
>>874
どんな感じで書けばいいの?

876 :デフォルトの名無しさん:2010/04/25(日) 09:34:44
public event EventHandler<HogeEventArgs> Hoge;
EventArgs の派生クラスは必要だけど、対応したデリゲートを作る必要はない。

877 :デフォルトの名無しさん:2010/04/25(日) 11:22:11
>>872
ないのでgoto使う
C#ではgotoに関しては「アホは何使おうがアホなコード書く」というスタンスなのでユーザ任せ

878 :デフォルトの名無しさん:2010/04/25(日) 11:24:50
いくら文法用意しても
goto が必要になるケースってあるしねえ
きりがないって考えたのかね

879 :デフォルトの名無しさん:2010/04/25(日) 11:39:58
Javaでも LABEL : { … continue LABEL; … } とかgotoと変わらん

880 :デフォルトの名無しさん:2010/04/25(日) 11:51:27
別にgotoが悪だとは思わないけどなぁ。
どう使うかが重要なわけだし。


881 :デフォルトの名無しさん:2010/04/25(日) 11:53:03
goto悪論なんて、未だにやっているんだ。

882 :デフォルトの名無しさん:2010/04/25(日) 11:54:23
goto を使わない一番の理由は、反射で批判するアホにごちゃごちゃ言われるのがイヤだってのは秘密だ。

883 :デフォルトの名無しさん:2010/04/25(日) 11:55:19
ダイクストラ信者なんでしょう

884 :デフォルトの名無しさん:2010/04/25(日) 11:58:57
try-catch があると、ほとんどいらなくなるけどね。

885 :デフォルトの名無しさん:2010/04/25(日) 11:59:42
ラベル付きbreakって下に飛ぶのにラベルが上にあってわかりづらい
そんなものが必要になるループはだいたい長いので尚更
switchのgoto caseもフォールスルーを駆使するよりはずっとマシ

886 :デフォルトの名無しさん:2010/04/25(日) 12:30:03
C#の参照とJavaの参照って
同じような意味と考えていい?

887 :デフォルトの名無しさん:2010/04/25(日) 12:31:11
うん

888 :デフォルトの名無しさん:2010/04/25(日) 12:31:21
参照はどこまでいっても参照だよ

889 :デフォルトの名無しさん:2010/04/25(日) 12:37:15
万歳だよな

890 :デフォルトの名無しさん:2010/04/25(日) 12:47:11
参照ってストーカーみたい

891 :デフォルトの名無しさん:2010/04/25(日) 12:47:57
ストーキングして隙をみてゴミをあさります

892 :デフォルトの名無しさん:2010/04/25(日) 12:50:02
オブジェクト指向で作ったプログラム内部のデータやメンバ関数の関連を
図にするとあちこちに線引かないといけないんだろうな

893 :デフォルトの名無しさん:2010/04/25(日) 12:51:20
UML見ても線だらけだな

894 :デフォルトの名無しさん:2010/04/25(日) 12:53:55
>>893
UMLだとメンバ関数なんかはクラスに込みみたいな表現になるけど
実際のプログラム内部だとクラスのインスタンスにはどこかに置かれてる
メンバ関数へのポインタしかもってないからもっとすごいことになりそうだよねw

895 :デフォルトの名無しさん:2010/04/25(日) 12:55:36
ぱそこんさんがかわいそうです

896 :デフォルトの名無しさん:2010/04/25(日) 13:02:51
>メンバ関数へのポインタ
そんな馬鹿な実装はしないと思う。
むしろ、普通はメソッドがインスタンスハンドルを引数にとるだけだと思う。

いずれにせよ、コンパイラの実装方法なんか無関係の話じゃないのか

897 :デフォルトの名無しさん:2010/04/25(日) 13:07:37
静的型で関数テーブル持ってるのはインスタンスじゃなくて型の方だ

898 :デフォルトの名無しさん:2010/04/25(日) 13:09:47
>>896
多少そういう予備知識はあった方がいいんだけどね
じゃないと参照と値渡しのあたりを理解できないし

899 :デフォルトの名無しさん:2010/04/25(日) 15:02:30
WPFって
ただ、なんかかっこいいボタンとかを作れる
だけか。かっこいいだけならいらんな

900 :デフォルトの名無しさん:2010/04/25(日) 15:05:12
GUIはかっこよさが大事でしょ

901 :デフォルトの名無しさん:2010/04/25(日) 15:06:17
WPFはバインディングがやたら強力
ある元のデータに対して対応するコントロールを動的に配置するようなことが
一切コードを書かずに宣言的にバインディングだけでやれる

902 :デフォルトの名無しさん:2010/04/25(日) 15:10:42
プロレス団体みたいな名前が嫌

903 :デフォルトの名無しさん:2010/04/25(日) 15:12:36
ワラタ

904 :デフォルトの名無しさん:2010/04/25(日) 15:15:00
じゃあMicrosoft Windows FormsはMWFと呼びましょう

905 :デフォルトの名無しさん:2010/04/25(日) 15:17:56
World Prowrestling Foundationってありそうだな

906 :デフォルトの名無しさん:2010/04/25(日) 15:26:55
WPF使ったことない人は見た目の事しか言わないよな。バインディングが肝なのに

907 :デフォルトの名無しさん:2010/04/25(日) 15:28:19
MS自身も入り口アピールは見た目押しの気がするけどなw

908 :デフォルトの名無しさん:2010/04/25(日) 15:28:29
>>906
それで何ができるのさ

909 :デフォルトの名無しさん:2010/04/25(日) 15:30:16
何もしなくていい と言うべき
UI周りはほんとに全部バインディングで書けてしまう

910 :デフォルトの名無しさん:2010/04/25(日) 15:55:02
>>874
>>876
//イベントのデリゲート宣言
public event EventHandler<UserControlsMouseActionEventArgs> UserControlsMouseDown;
public event EventHandler<UserControlsMouseActionEventArgs> UserControlsMouseUp;

使い方はこんな感じでマウス操作の種類だけ増やしていけばいいのでしょうか?

911 :デフォルトの名無しさん:2010/04/25(日) 16:13:54
何でもできるって言われると胡散臭く感じるんだなあ
一般人がパソコンを魔法の箱だと思っていたみたいな感じで

912 :デフォルトの名無しさん:2010/04/25(日) 16:15:52
何の根拠もなく胡散臭いって
一般人以下の感想じゃんそれ

913 :デフォルトの名無しさん:2010/04/25(日) 16:24:05
だって胡散臭いじゃない

914 :デフォルトの名無しさん:2010/04/25(日) 16:29:35
システム開発の業界では胡散臭いところはかなり多い
いやならそういうところと付き合わなければよい
特に意味も無くC#での開発をゴリ押しするところは一番あやしい

915 :デフォルトの名無しさん:2010/04/25(日) 16:32:47
具体的に何ができますか?と聞かれてなんでもできますなんて言う人は信用しません

916 :デフォルトの名無しさん:2010/04/25(日) 16:42:34
なぜ相談室使わないんだ?
雑談したいならそっちいけよ

917 :デフォルトの名無しさん:2010/04/25(日) 16:43:55
初心者ではないけど能力は初心者レベルだからです

918 :デフォルトの名無しさん:2010/04/25(日) 16:44:18
>>914
現状、C#(.NET)とJavaの2択ではないか?

919 :デフォルトの名無しさん:2010/04/25(日) 16:49:45
はぁ?

920 :デフォルトの名無しさん:2010/04/25(日) 16:50:14
JavaとC++かCだろ

921 :デフォルトの名無しさん:2010/04/25(日) 16:58:45
>>920
C#が指定されているところに、CやC++でいけるわけないだろ。

922 :デフォルトの名無しさん:2010/04/25(日) 16:59:43
指定されてないんで

923 :デフォルトの名無しさん:2010/04/25(日) 17:09:08
何か話が妙な方向に進み始めたなぁ。
次スレまで引きずらないでね。

924 :デフォルトの名無しさん:2010/04/25(日) 17:23:24
前提条件がある程度絞られてる中で何でもできるというのは
どこからどこまでかはわかるもんだけど、それすらもわからない人は
何でもできるという言葉ではできる範囲が想像つかないからな。

925 :デフォルトの名無しさん:2010/04/25(日) 18:20:14
>一般人がパソコンを魔法の箱だと思っていたみたいな感じで
WPFのListBoxは魔法の箱だと思う。

926 :デフォルトの名無しさん:2010/04/25(日) 19:37:39
Windows7、IIS7.5、.net3.5で作って動いている簡単なWebサービスを
XPで動かしたい場合はIISのversionが異なりますがそのまま動きますか?

927 :デフォルトの名無しさん:2010/04/25(日) 19:45:13
>XP Mode

928 :デフォルトの名無しさん:2010/04/25(日) 19:50:32
ListBoxなんてつかわん

929 :デフォルトの名無しさん:2010/04/25(日) 20:45:11
WinFormsのListBoxと一緒にしてないか?

930 :デフォルトの名無しさん:2010/04/25(日) 21:01:10
ソートとか実装がめんどい

931 :デフォルトの名無しさん:2010/04/25(日) 21:19:44
View挟んでOrderするだけじゃね

932 :デフォルトの名無しさん:2010/04/25(日) 21:30:49
そこまでして何ができるの?
というか、それ以外のことが手間かかるからやる気がしない

933 :デフォルトの名無しさん:2010/04/25(日) 21:51:44
>>931をグループ化して好きなコンテナに入れて表示する のがコード書かずにすぐ出来ちゃう所とか

934 :デフォルトの名無しさん:2010/04/25(日) 22:35:33
XAMLがものすごい蛇足に見えるからいらね

935 :デフォルトの名無しさん:2010/04/25(日) 22:37:54
Button1.Width=200;
とかやるほうがいいよな

XAMLなら
<Button Width = 200/>
みたいにやるんだっけ?

936 :デフォルトの名無しさん:2010/04/25(日) 22:42:56
>>935
<Button Width = "200"/>
こんな感じかな

まあ

<Button />

こうやっておいてコンストラクタでサイズしてもいいんだけど
WinFormアプリのForm1.Designer.csを置き換えたようなもんなんで
実はそんなに大したことはない

937 :デフォルトの名無しさん:2010/04/25(日) 22:45:46
何だかんだ理由をつけて使わないんだから勧めるのを止めればいいのにな

938 :デフォルトの名無しさん:2010/04/25(日) 22:48:34
>>937
使わないだけなら誰一人文句はないだろうけど
>>928>>930みたいに間違った情報を垂れ流すのはどうかと思うわ

939 :デフォルトの名無しさん:2010/04/25(日) 22:49:26
>>937
適材適所なんだが、今のところ明確なメリットが見えないのが辛いね
WPFやSilverLightを使った良アプリがでれば作る方もイメージ変わるんだろうけど

個人的にはいまさらFlashの糞AS覚えたくないのでSilverLightは歓迎かな
WPFはイマイチ見えん

ちなみXAMLで書いても実際は表示されてないcsファイルが作られてるよ

940 :デフォルトの名無しさん:2010/04/25(日) 22:49:34
そんなにXMLが好きならHTMLtoXMLのパーサ提供しろ糞MS

941 :デフォルトの名無しさん:2010/04/25(日) 22:53:09
>>939
XAMLの後ろに生成される見えないcsファイルはXAMLをリソースからロードしてるだけ

942 :デフォルトの名無しさん:2010/04/25(日) 22:56:20
>>941
ああ、すまん
そうだなw

というかこの関係はhtmlとブラウザって感じだよねw

943 :デフォルトの名無しさん:2010/04/25(日) 22:57:04
嘘が嘘だと言われてもようわからんしな。
お前もプログラマの端くれならコードで示せよ。

944 :デフォルトの名無しさん:2010/04/25(日) 23:01:49
Silverlightではなんと>>935の上よりも下の方が例外なく速い
Silverlightはほとんどアンマネージ側で実装されてるのでマネージコードを介すのが無駄らしい

945 :デフォルトの名無しさん:2010/04/25(日) 23:02:25
>>940
http://blogs.msdn.com/wpfsdk/archive/2006/05/25/606317.aspx
http://blogs.msdn.com/davidwaddleton/archive/2006/07/22/Geek_Speak_Useful_functions.aspx

946 :デフォルトの名無しさん:2010/04/25(日) 23:04:33
>>943
WPFなんかのXAMLって乱暴な言い方すれば紙芝居エロゲのスクリプトみたいな存在なんだわw

隠しcsの中身
App.g.cs
http://ideone.com/y2Diy

Window1.g.cs
http://ideone.com/d8aXE

WPFのプロジェクト作ってメニューのプロジェクト(P)->すべてのファイルを表示(O)
ってやれば隠しのobjフォルダとbitフォルダが表示されてobjフォルダ内に入ってるから

947 :デフォルトの名無しさん:2010/04/26(月) 00:08:58
>WPFなんかのXAMLって乱暴な言い方すれば紙芝居エロゲのスクリプトみたいな存在
すげーわかりやすい!と思ったので死にたい

948 :デフォルトの名無しさん:2010/04/26(月) 00:34:46
XAMLで動的ってのがよくわからん。
あらかじめ別のXAMLファイルに定義しておいて、それをリソースとし、
トリガなんかを使って適用する感じかね。

必要なときに生成できるコードと違って、XAMLで宣言したのは
アプリの起動時にはすでにインスタンスが生成されてることでいいの?

949 :デフォルトの名無しさん:2010/04/26(月) 00:38:04
>>948
上で言ってるじゃん
htmlとブラウザの関係だって

C#で言えばwebbrowserにhtml食わせてナビゲート完了したあとできあがる
HtmlDocumentに対して操作したりってやってるだけだよ

950 :デフォルトの名無しさん:2010/04/26(月) 00:49:22
僕はみんなのアイドルです(´・ω・`)

951 :デフォルトの名無しさん:2010/04/26(月) 02:24:53
>>870
>>874
>>876
>>910
おれめも

952 :910:2010/04/26(月) 04:09:03
>>951
俺のはメモらないほうがいいよ
誰も答えてくれなかったからわからないけど
あのやり方は動くけど多分間違っているし、普通にイベント作った方が簡単に書ける

public class UserControl
{
  public event MouseEventHandler ControlsMouseDown;
  private void pictureBox1_MouseDown(obj sender, MouseEventArgs e)
  {
     ControlsMouseDown(sender,e);
  }
}
class Form1:Form
{
  public Form1()
  {
    UserControl.ControlsMouseDown+=Controls_MouseDown;
  }
  private void Controls_MouseDown(obj sender, MouseEventArgs e)
  {
     MessageBox.Show(sender.ToString()+"\r\n"+e.Button.ToString());
  }
}
こんな感じ
イベントハンドラジェネリックを使うことでどのようにコードがシンプルになるかはよくわからなかった
例えば、MouseDownなのかMouseUpなのかも通知するようなHogeEventArgsにすれば
イベントのデリゲート宣言が複数必要なくなりそうなんだけど、そうなると
どのMouseイベントなのか、どのマウスが押されたのか?の条件式を書かないといけなそうなので
普通のイベントでやることにした
よくわからなかった

953 :デフォルトの名無しさん:2010/04/26(月) 04:49:16
>>910

>>874は「publicでクラス内にデリゲート型のフィールドを作る」を
「新規に別のdelegate型を作る」と読み違えている。
だから新規にEventArgsとEventHandlerを作るよりも
EventHandler<T>を使ったほうがいいと言っていると予想。

以下個人的な好みだけど、内部コントロールを公開するなら下のやりかたが好き。
public class UserControl {
  public event MouseEventHandler ControlsMouseDown; {
    add { pictureBox1.MouseDown += value; }
    remove { pictureBox1.MouseDown -= value; }
  }
}

954 :910:2010/04/26(月) 06:01:10
>>953
それすごくいい!
使わせて頂きます
ありがとうございました

>>新規に別のdelegate型を作る
独自のイベントを作るならジェネリックが使えるというだったのですね

955 :デフォルトの名無しさん:2010/04/26(月) 12:48:48
>>953
この記述最近できたのかなと思ったら
昔からあったんですね
知らなかった

956 :デフォルトの名無しさん:2010/04/26(月) 12:52:56
eventが導入されたときからあるね

957 :デフォルトの名無しさん:2010/04/26(月) 13:18:39
WPFのC#で、線を配列で引きたいと思っています。

Line[] line = new Line[10];
for (int i=0, i < line.Length; i++){
line[i].StrokeThickness = 8;
line[i].Stroke = Brushes.Black;
line[i].X1 = 10 + i*30;
line[i].X2 = line[i].X1 + 20;
line[i].Y1 = line[i].Y2 = 50;
}
}

これで、
line[i].StrokeThickness = 8;
の行で、オブジェクト参照がオブジェクトインスタンスに設定されていません、というエラーが表示されます。
設定するにはどうしたらよいでしょう?

Line[] line = new Line[10];
では足りないんでしょうか?


958 :デフォルトの名無しさん:2010/04/26(月) 13:21:58
配列すら理解せずにコードからWPFって時代なのね

配列をnewしても配列の各要素はまだnewされてない

959 :デフォルトの名無しさん:2010/04/26(月) 13:26:18
デバッガの見方をまず教えるべき

960 :デフォルトの名無しさん:2010/04/26(月) 13:35:31
>>958
ありがとうございます。

Line[] line = new Line[10];
for (int i=0, i < line.Length; i++){
line[i] = new Line();
line[i].StrokeThickness = 8;
line[i].Stroke = Brushes.Black;
line[i].X1 = 10 + i*30;
line[i].X2 = line[i].X1 + 20;
line[i].Y1 = line[i].Y2 = 50;
}
}
でできました。
コンパイルは通るようになったのですが、
線が表示されません。
どこがだめでしょう?


961 :デフォルトの名無しさん:2010/04/26(月) 13:37:46
配列作っただけでLineを要素の子に追加してなかったりするんじゃねーの

962 :デフォルトの名無しさん:2010/04/26(月) 13:49:54
>>961
どうやって追加すればよいですか?
xamlなら、
<Window>
<Grid>
<Line StrokeThickness = "8"/>
</Grid>
</Window>
のようになっています。
Grid.Items.Add(line[i]);
とかと思ったのですが、違うみたいです。


963 :デフォルトの名無しさん:2010/04/26(月) 13:53:20
<Grid x:Name="grid1">と名前を付けた上でgrid1.Children.Add(line[i])
キリないからWPFもWinFormsも忘れて入門書から出直した方がいいよ

964 :デフォルトの名無しさん:2010/04/26(月) 13:56:34
>>963
ありがとうございました。
きりがないなんてことはなくて、これでやりたいことができました。
おつきあいいただき感謝します。


965 :デフォルトの名無しさん:2010/04/26(月) 17:32:40
初心者用スレなんだから温かいレスをしてあげてください

966 :デフォルトの名無しさん:2010/04/26(月) 17:44:16
効率系質問
ふらっと:初心者はそんなこときにするな
姉妹スレ:自分でテストしろ

967 :デフォルトの名無しさん:2010/04/26(月) 18:29:40
>966
なめんなよ

968 :デフォルトの名無しさん:2010/04/26(月) 18:40:19
なめてないよぉ

969 :デフォルトの名無しさん:2010/04/26(月) 18:50:12
System.Threading.Thread.Sleep(int.MaxValue);

970 :デフォルトの名無しさん:2010/04/26(月) 19:34:47
System.Threading.Thread.Sleep(Timeout.Infinite);

971 :デフォルトの名無しさん:2010/04/26(月) 20:27:10
while(1)
{

972 :デフォルトの名無しさん:2010/04/26(月) 20:34:34
プログラミング簡単だと思ったら難しいな
一本のソフト完成させるまでどれだけかかるんだよ・・・

973 :デフォルトの名無しさん:2010/04/26(月) 20:36:57
難しいのを作るから難しいんだよ

974 :デフォルトの名無しさん:2010/04/26(月) 20:39:29
どんなものを作りたかったのかしらんが
なんで簡単だと思うのか・・・

975 :デフォルトの名無しさん:2010/04/26(月) 20:44:36
すごい簡単にできるんだけど難しく考えてる事とかあったりする

976 :デフォルトの名無しさん:2010/04/26(月) 20:53:41
画像ビューア作っているんだけど難しい
心折れそう

977 :デフォルトの名無しさん:2010/04/26(月) 20:55:57
ピクチャーボックスはって
適当にフォルダ表示すりゃいいだけだろ!

978 :デフォルトの名無しさん:2010/04/26(月) 20:59:03
使えるレベルに持っていくのがしんどいね。
俺もWPFでビューア作っててズーム機能で苦労してるわ。
任意の点を中心にしてズームさせるの。パンと組み合わせると
上手くいかないぜ。計算が間違ってるらしい。

979 :デフォルトの名無しさん:2010/04/26(月) 21:01:34
どうせ作るなら既存のものより高性能なもの作りたいじゃない?
そうなってくると途方もなく完成が遠いの

980 :デフォルトの名無しさん:2010/04/26(月) 21:09:15
そりゃ作る前に設計しないからだ

981 :デフォルトの名無しさん:2010/04/26(月) 21:12:12
結構JPEGって方言とかあるのか、標準のPictureBoxじゃ
開けなくて泣けるよ。

982 :デフォルトの名無しさん:2010/04/26(月) 21:20:17
方言というより縦横のサイズじゃないの?

983 :デフォルトの名無しさん:2010/04/26(月) 21:27:10
結局susie.apiとかに頼っちゃうことになるわけ?

984 :デフォルトの名無しさん:2010/04/26(月) 21:28:19
>>980
設計って何するの?

985 :デフォルトの名無しさん:2010/04/26(月) 21:47:03
君は設計の前にやる事があるようだね
ちょうどGWにも入ることだ、本屋にでも行ってプログラムの作り方の本でも買うといいよ

986 :デフォルトの名無しさん:2010/04/26(月) 22:00:52
今時susieは使いたくないけどやっぱりプラグインは豊富なのかな、PSDとか表示できたよね

987 :デフォルトの名無しさん:2010/04/26(月) 22:11:02
本は何冊かあるけど、どれも文法の説明を小難しく説明しているだけで
実際ソフトウェアを作る場合どういう手順で作っていくかというのが書いていない
だから、あっちこっちに手を出して、途中で大きな間違いに気づき
1から作り直しの日々

そこそこの機能を持ったソフトを開発する手順が書いてあるところとかないかな
もしくは画像ビューアのソースを公開しているところとか

988 :デフォルトの名無しさん:2010/04/26(月) 22:14:56
>>987
画像ビューワー程度ならそんな大したソフトウェアってわけじゃないでしょ

989 :デフォルトの名無しさん:2010/04/26(月) 22:30:17
>>987
CodePlexやSourceForge.netに行けばいくらでもある。

990 :デフォルトの名無しさん:2010/04/26(月) 22:49:08
甘えんじゃねエーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

991 :デフォルトの名無しさん:2010/04/27(火) 00:11:59
書いてある本を買えばいいのにね

992 :デフォルトの名無しさん:2010/04/27(火) 00:21:44
>>954
オレがメモしたおかげだな

993 :デフォルトの名無しさん:2010/04/27(火) 00:41:30
Enum.ToStringの注意書きがいつの間にか
Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows CE向けになってる…。

結局モバイル環境でもなきゃ大した影響を及ぼすものじゃなかったってことでいいのかなー。

994 :デフォルトの名無しさん:2010/04/27(火) 00:44:18
>>992
おまえ誰だよwww
オレがメモしたおかげだ!

995 :デフォルトの名無しさん:2010/04/27(火) 00:48:40
>>993
1.1のでもfor .NET Compact Frameworkのようだけど
ttp://msdn.microsoft.com/ja-jp/library/aa328358(VS.71).aspx

996 :デフォルトの名無しさん:2010/04/27(火) 02:57:01
u

997 :デフォルトの名無しさん:2010/04/27(火) 02:57:44
m

998 :デフォルトの名無しさん:2010/04/27(火) 03:05:19
e

999 :デフォルトの名無しさん:2010/04/27(火) 03:06:02
産め

1000 :デフォルトの名無しさん:2010/04/27(火) 03:07:16


1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

216 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)