[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 08/03 14:11 / Filesize : 215 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part58



1 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:35:10 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ 
C#, C♯, C#相談室 Part55 (実質56)
pc12.2ch.net/test/read.cgi/tech/1260111240/

Visual C# 2008 Express Edition 日本語版
www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

その他テンプレ>>1-5くらい

61 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 16:06:11 ]
誰も的確なレスが返せないみたいですし、時間の無駄みたいですね
プログラムに関する質問を日本語の掲示板に頼っている時点でここの連中の程度は知れますけど
まぁがんばってください

62 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 16:09:19 ]
>>61
なにぶちきれてるか知らんけど結論とすればC#でやることじゃないよってことだよw

・ほかのツールで録音すれば?->C#は関係ないし
・ドライバー作れば?->C/C++の話だし
・フック->これもC/C++の方がいいだろう

63 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 17:15:07 ]
何使うにせよ言語スレでやるような話題じゃない

64 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 17:31:32 ]
C#でするのは難しいと言うことなので
C/C++のほうで考えてみます
質問に答えてくださってありがとうございます。

65 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 19:06:27 ]
仕事でC#使うから勉強に、ってのが最初の話じゃなかったのか・・・Cのほうに行ってどうすんだよ

66 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 19:15:59 ]
それ別人とちゃうの?

仕事で〜

radikoの録音で〜

67 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 19:16:44 ]
>>65
どう見ても別人だろ・・・

68 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 19:35:02 ]
Buttonをクリックした時だけそのボタンのツールチップを
表示させようとしているのですが、1回クリックして表示すると
2回目以降はButtonにフォーカスを当てただけで表示されてしまいます。
Buttonに紐付けられたツールチップのオブジェクトの参照を
無効にするには、どのタイミングのイベントで行えばよいでしょうか?

69 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 19:38:48 ]
Leaveとかじゃね



70 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:10:36 ]
>>68
MSDNライブラリのToolTipsメンバ一覧を見てそれを言ってるとしたらかなり頭が悪い。
見ずにいってるとしたら性格が異常。

71 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 20:16:02 ]
>>69
MouseLeaveで解決しました。

>>70
ありがとうございます。

72 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 23:30:50 ]
Showメソッド使ってやれよ、せっかくあるんだから。


73 名前:デフォルトの名無しさん [2010/03/26(金) 23:50:25 ]
form1でハローワールドやってるものです。 
javaだとpublic static void mainというところでインスタンスを作るけど 
c#はその必要はないのですか?


74 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 23:52:38 ]
>>73
プロジェクトのフォルダにあるProgram.csを見てみるといい。

75 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 23:57:33 ]
>>73
ない
windowsアプリの場合Program.csの中のstatic void Main()で勝手にやってる

デザイナーでデザインした際に自動で書いてくれるコードは
Form1.Designer.csの中に入ってる。(Form1のコンストラクタがInitializeComponent()を呼び出してる)

こんな構造

なので基本的にはコンストラクタのInitializeComponent();の後か
Loadイベントを作ってその中にコードを書くなどすればOK

76 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:00:19 ]
VS2003の頃はフォームの中にMainが作られてたな
Javaなんかだと何故かあれを好む人がいるけど普通に考えたら不自然だよな

77 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:02:21 ]
>>76
不自然だねw

IDEが勝手に用意していきなり作られるForm1だって所詮はFormを継承したクラスに過ぎないからねえ
プログラムとしてみると今の方が普通

78 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:05:00 ]
>>74>>75
確認しました。ありがとうごぜいます。
そのようにいたします。

79 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 07:07:06 ]
海外サイトで見つけたクラスをそのまま使ってるコードを
sourceforgeで晒すのって問題あるんだろうか?
コメントで入手先とか書いとけばいいのかな?



80 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 07:25:27 ]
>>79
書いた人間に訊けよ
そんなこと他の誰も許可できん

81 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 07:26:50 ]
ライセンスないなら聞け

82 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 07:29:12 ]
いちいち聴く必要ないだろ
めんどくさい

83 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 08:50:54 ]
自己責任じゃね?


84 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:08:56 ]
別のプロセスが使用中のファイルを開くと例外がでるのですが、
ファイルを開く前にプロセスで使用中か調べる方法ってありますか?

85 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:12:55 ]
ファイルを開く前に調べても
ファイルを開く時には使用中かもしれないので
全くの無駄な行為でしかない

86 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:15:17 ]
>>85
ファイルを開くときに使用中でも問題ないです
例外を処理する回数を減らしたいので

87 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:18:32 ]
事前にチェックしてもしなくても、例外の処理回数は変わらないだろ。

88 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:21:25 ]
Exist()は使用中かどうかも調べてくれなかったっけ

89 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:24:47 ]
そんなんない。



90 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:26:36 ]
全てのプロセスを列挙して、それらが使っているハンドルを列挙
その中に目的のファイルがあるかどうか調べる

という感じだっけ?

91 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:26:54 ]
>>86
なるほどそういうことね
Existsでいいんじゃない
>呼び出し元が必要なアクセス許可を持ち、path に既存のファイル名が格納されている場合は true。
>それ以外の場合は false。
>呼び出し元が指定したファイルを読み取るための十分なアクセス許可を持たない場合、例外はスローされず、
>このメソッドは、path の有無にかかわらず false を返します。

92 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:34:29 ]
>>87
別のプロセスが使用中のときはファイルを開きません

>>88,91
File.Existsは読み取り許可をチェックするだけみたいです
1: 2: ともにTrueになりました
File.WriteAllText("aaa.txt", "test", Encoding.UTF8);
Trace.WriteLine("1: " + File.Exists("aaa.txt"));
using (var stream = File.OpenWrite("aaa.txt"))
{
Trace.WriteLine("2: " + File.Exists("aaa.txt"));
}

>>89
やっぱりないんですかね

>>90
そこまでするなら例外を処理したほうが良さそうです

93 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:41:09 ]
使った事無いけど、FileSecurityってのは使えない?

94 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:41:50 ]
使えない。

95 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:44:40 ]
>>92
>>85 の言ってること理解しようよ。

1. ファイルが他のプロセスで開かれてるかチェック
2. 開かれてないので、自分のアプリで開く
3. 1. - 2. の間に他のプロセスが開いてたら例外発生

なんだから、いきなり 2. をやって例外をトラップすればいいだけ。

96 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:59:55 ]
>>95
>>86の言ってる事を理解しようぜ

97 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:04:06 ]
まあ最終的な結論としては>>95なんだけどね

98 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:05:27 ]
まったく理解できん。事前にチェックすると、なんで例外処理の回数が減るの?

99 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:28:28 ]
仮に例外処理なしで事前にチェックできるなら
2 を実行しない分例外処理の回数が減るだろ



100 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:29:48 ]
例外処理が発生するのは1-2の間に他プロセスで開かれた時のみ
超レアケースだな

101 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:30:34 ]
>>98
自分のアプリからしか使わないファイルで、
そのアプリが多数で同時に使われないなら減るんじゃね。

102 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:32:05 ]
まあ数万ファイル/秒、しかもその中の相当数がロックとかいう意味不明な状態じゃない限り
有意な差はないだろうけどな

103 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:32:31 ]
例外の発生件数を減らす意味ってあるの??
チェックとロック(=ファイルオープン)がアトミックじゃないなんて
典型的なダメダメファイルロックじゃんね。

104 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:33:57 ]
>>103
実行コストでしょ
例外処理より軽い確認処理があるなら先にやっといて損はない、可能性がある
まあほとんどの場合無意味、むしろ不利益になる可能性の方が高いだろうけど

105 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:35:04 ]
いやこの場合はあらかじめチェックした方が遅くなるだろ

106 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:36:44 ]
例外の発生するケースの方がレアならそうだろうね

107 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:39:15 ]
というかチェックのコスト自体が大きいはずだからな

108 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:39:46 ]
えーと、やりたいことはこのスレの>>12です
Mutexが使えないので、ファイルの排他処理でMutexをエミュレートしてます
なので、正常ケース:例外ケースが1:10000くらいになってしまい、
例外を処理するのは効率悪いのではないかと・・・

109 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:40:14 ]
>>107
( ̄ー ̄)ハァ?



110 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:40:55 ]
ようやく理解できた。
が、そんなこと気にするより、わかりやすくてシンプルなコードの方がいいと思うよ。

ちなみに、他のプロセスがファイルを開いているかどうかは、>>90みたいな感じで
非公開関数を使うか、openfiles コマンドみたいなのを使う必要あり。

111 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:42:02 ]
ランチャーとかどうやって作ってるんだろうな

112 名前:デフォルトの名無しさん [2010/03/27(土) 19:42:24 ]
実際に計ってみましたか?

113 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:42:27 ]
>>106
おまえの存在してるケースの方がレアじゃね。

114 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:42:53 ]
ASP.NETでサーバ単位の排他とか謎だな、としか

115 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:43:38 ]
>>112
計りましたが・・・

116 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:43:43 ]
.NET 2.0でListView使ってるんですが、
複数アイテムを洗濯した状態でチェックボックスをクリックすると、
ItemCheckedがアイテム毎に呼ばれるので処理が重くなってしまいます。

何かいい案ないでしょうか。

やりたいこととしては、
チェックが変更された事を契機としたチェックされているアイテム数の表示です。

117 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:44:55 ]
あります。

118 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:44:58 ]
計った?何と何を?

119 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:46:14 ]
開いているかどうか、じゃなくて、存在するかどうかを判定条件にすれば、
もう少し楽になると思うよ。



120 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:49:36 ]
ありません。

121 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:54:24 ]
>>116
ItemCheckedじゃなくてタイマで定期的に調べるようにしたら

122 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:59:30 ]
チェックのコストは大きいぞ。API呼ぶんだから。
そんでもって実際に開くときに同じこともう一度やるはめになる。


123 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:03:56 ]
>>119
あ!まさにそれがベストっぽいですね!
ありがとうございました!

>>122
開けないケースのほうが数多いので、開くときのコストは大きくてもOKです

124 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:10:07 ]
以上、目的と手段がごっちゃになった例、でした。

125 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:25:34 ]
ここで質問していいのかわからないので、まずかったら教えてください

ネット上でフリーで公開されているソースコード?と呼ばれるものを
実行ファイルにしたいのですが(そこでは実行ファイルそのものは公開されていない)
拡張子が「xxxx.c」となっているのですが、これはコンパイルというものをすれば実行ファイルに変わるのでしょうか?

プログラムは完全に初心者なので、どういうソフトで作業を行うのかすらわかりません
4つほど公開されいるソースコードを実行ファイルにするだけです

なにかフリーで手頃なソフトがもし存在するのであれば、教えて頂けると助かります

すれ違いの質問であれば、失礼致しました

126 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:27:13 ]
とても失礼です。

127 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:29:58 ]
そういう理解でいいですが、.c の場合は、Cコンパイラが必要です。
ここは C# のスレなので、スレ違いです。

128 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:32:05 ]
>>116
System.Timers.TimerをAutoReset=falseにしといて、Intervalは33ぐらい、
タイマのイベントで数えて表示、
でItemCheckedではタイマのStart呼び出すだけ、とか

129 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:33:17 ]
C#というのはCのすごい版…みたいな解釈をしていましたorz
該当スレを探して、再度そちらで質問させて頂きます

スレ違い失礼いたしました



130 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:33:57 ]
スレ立てるまでもない質問スレはなくなったんだな

131 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:35:06 ]
>>129
いや、君のレベルだと人に聞く前にとりあえず基礎を調べてから勉強しといたほうが・・・。

132 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:38:21 ]
>>128
なぜSystem.Windows.Forms.Timerじゃないんだよ。

133 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:42:50 ]
>>132
AutoResetが便利だからつい
SynchronizingObjectはコンポーネントとしてデザイナにD&Dすれば自動設定だし

134 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:42:52 ]
アレはうんこなので

135 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 20:43:23 ]
>>128
UIをUIスレッド以外で弄ると発狂するよ

136 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:00:37 ]
このスレの奴はレベルが低いのがよく分かるな。
低いってのは回答する側の方。
ググって過去スレなんか見た時なんかひどいもんだ。

137 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:01:19 ]
>>135
SynchronizingObject

138 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:03:54 ]
>>136自己紹介乙

139 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 01:17:23 ]
>>133
理由になってない




140 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 09:56:10 ]
すいません、質問します。

TabControlについて研究していますが、
たとえば、JaneStyleにあるようなタブコントロールだと、
タブを左クリックすれば、すぐにそのタブが選択されますが、

一般的な.netのTabControlで、JaneStyleのようなFlatButtonの場合ですが、
マウスの右ボタンを押下(DOWN)した状態で→軽くボタンが浮き上がる表示(この状態ではまだ選択という状態になっていません)
そして、
マウスの右ボタンを離した(UP)した状態で→ボタンが押された表示(この状態で、タブが選択されたという状態になります)
となるのですが、
ghardzatudan6.es.land.to/up/img-box/img20100327070642.jpg

Janeのように、マウスの右ボタンを押下(DOWN)した段階で、すぐに、そのタブが選択されるような処理をしたい
場合はどのようなコードを入れればいいのでしょうか?
Janeで実装できているのですから、VB.NETでも実装できないわけないと思い、調べていますが、
解決できません。
だれかご存知な方はいらっしゃいますか?

141 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 10:23:47 ]
ClickじゃなくてDownイベントいいんでないの?

142 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 10:32:11 ]
VBスレ行けw

143 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 10:36:07 ]
そうだな。なぜ此処で聞くw

144 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 11:01:00 ]
>>140
VBスレで答えがなかったからこっちに書いたと思うけど、
うそでも「C#でも実装できないわけないと思い、」と書いておけw

.NET の TabControl の MouseDown イベントで、どのボタンを
押そうとしているのかとか、マウスポインタがどのボタンの上に
あるのかとかが、取り出せないような気がするので、自分の
希望の挙動をするコントロールを自作しないといけないような
気がする。


145 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 12:36:12 ]
気がする。笑

146 名前:140 mailto:sage [2010/03/28(日) 12:58:09 ]
解決しました

Captureを外して(false)、その後、SelectedIndexに選択するインデックスを
設定すれば、ワンクリックで選択されるようになりました。

147 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:01:16 ]
>>146


そういえば、.NETスレないよね
C#とVBで分ける意味がわからない

148 名前:140 mailto:sage [2010/03/28(日) 13:06:08 ]
通常のTabControlとJaneStyleのタブコントロールでの呼ばれる
イベントの違いをSpyで比べてたら、
JaneStyleに、「WM_CAPTURECHANGED」が呼ばれてたので、あぁ、
そうかキャプチャーの存在あったか、って思い出して、
解決。
ghardzatudan6.es.land.to/up/img-box/img20100328130005.jpg

大変ご迷惑おかけしました。失礼します。

149 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:07:02 ]
どうせ言語の質問に終始するだけだろ
CLRの挙動やFCL全体について質問する奴は少なそうだし



150 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:13:04 ]
>>149
愚痴は目障りやめろ

151 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:16:21 ]
VBユーザの中にはC#を絶対に読もうとしない民族がいる

152 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:17:13 ]
>>150
お前が.NETスレ立てて頑張ってくれ

153 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:17:14 ]
底辺同士仲良くすればいいのにね

154 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:18:45 ]
ですね

155 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:19:26 ]
.NETスレがあっても事実上C#スレになっちゃうからな
VBスレ以外の.NET関連のスレでVBのコードはほとんど見かけない

156 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:21:39 ]
C#でコード例とか書いたら、「C#わからないのでVBのコードください」とか言うやつが
出てくるだけ。

なので、言語ごとでいいんじゃね?

157 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:24:49 ]
コンバートしろって言って置けばいいんじゃね?

コンバートしてくれるサイト
www.developerfusion.com/tools/convert/vb-to-csharp/

158 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:25:06 ]
俺VB.NETほとんど知らないけど、MSDNのサンプル位なら余裕で読めるな
.NETFrameworkを使う以上、そんなに差は出ないんで

159 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:26:24 ]
>>157
ところが「変換したものをコピペしてみましたが動きません」とか言い出すんだ



160 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:27:27 ]
面倒だからC#で実行ファイル作って、VBソースとして復元しろw

161 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 13:31:24 ]
>>156
C#とVBってキーワードが違うだけなのに。それはOOPが理解できてないってことなんじゃ?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<215KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef