1 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 13:27:03 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part51 pc12.2ch.net/test/read.cgi/tech/1261186507/ 関連スレ C#, C♯, C#相談室 Part55(実質56) pc12.2ch.net/test/read.cgi/tech/1260111240/ WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4 pc12.2ch.net/test/read.cgi/tech/1245384489/
175 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:27:21 ] なんでえらそうなの?
176 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:28:10 ] Windowsフォームアプリだと、Consoleクラス使ってもコンソールには出力できなかったような。 Console系のAPI使え。
177 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:34:07 ] >>174 プロジェクトのプロパティのアプリケーションの項で 出力の種類をコンソールアプリケーションにすればOK 馬鹿ばっか
178 名前:デフォルトの名無しさん [2009/12/27(日) 13:34:56 ] >>168 www.codeproject.com/KB/audio-video/AudioLib.aspx
179 名前:デフォルトの名無しさん [2009/12/27(日) 13:35:30 ] 質問させてください。 WindowsXP,Visual Studio2008で開発をしています。 サーバーエクスプローラにてMysqlのデータベースを読み込み、DataGridViewに表示をさせるといったことをしているのですが、 データベースに接続はできても、DataGridViewの表示の段階で躓きます。 どこで躓いているかというと、 デザインにてDatagridViewを張り付けて、そこからデータベースを関連付けるところで、 予期しないエラーが発生しました。 エラー メッセージ:アセンブリ'Microsoft.VisualStudio.DataDesign.SyncDesigner.DslPackage, Version=9.0.0.0, Culture=neutral, PublicKey Token=***************' から型'Microsoft.VisualStudio.DataDesign.SyncDesigner.SyncFacade.SyncManager'を読み込めませんでした。 とでました。 google先生に聞いてもHITしないし、エラーの原因がよくわかりません。 これはどういったことなのでしょうか。ご指南よろしくお願いします。
180 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:44:58 ] >>175 えらそうだったですか? すまん。ごめんなさい。 >>177 おお。これです。ありがとうございます。 ただ、これだと問題があります。 このアプリケーション、Formアプリケーションなのです。 出力の種類をコンソールにすると、実行時に必ずコンソールが開いちゃいます。 ・ふつうはFormとして実行。 ・if (args[1] == "console") { string processMessage = "いろいろ処理後のstring"; Console.WriteLine(processMessage); Close(); } としたいのです。
181 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:47:14 ] ごめんなさい。自己解決しました。
182 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 14:13:02 ] どっちが解決したんだろう?w
183 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 14:15:42 ] >>182 コンソール出力は未解決です〜。
184 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 14:26:25 ] stackoverflow.com/questions/277771/how-to-run-a-winform-from-console-application
185 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:07:18 ] dobon.net/vb/dotnet/programing/consoleinout.html これだ
186 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:13:50 ] >>185 それはないわ
187 名前:デフォルトの名無しさん [2009/12/27(日) 15:23:35 ] パネルのオートスクロールをオンにしているとき そのパネルにスクロールバーが表示されているか否かを知るプロパティはありますか?
188 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:24:39 ] ありません
189 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:27:34 ] >>187 自前でフォントサイズで計算して・・・
190 名前:デフォルトの名無しさん [2009/12/27(日) 15:31:23 ] ごめんなさい 質問を取り消します
191 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:32:04 ] どれが取り消されたんだろう?w
192 名前:デフォルトの名無しさん [2009/12/27(日) 15:34:56 ] www.pinvoke.net/default.aspx/user32/GetScrollBarInfo.html こいつでスクロールバーサイズ求めたらいける
193 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:37:40 ] Panelを使うとき、スクロールバーが出てるかどうかは確かに調べたいな。 どちらかというと強制的に出しっぱなしにしたいんだけど。
194 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:22:37 ] C#は小学生向けの言語というのは本当ですか?教えてちょo(´∀`)oワクワク
195 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:25:41 ] そうだな
196 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:28:21 ] どちらかというと何かと白黒を付けたがって 世の中のすべてのものがはっきり決まっててほしいと思いたがるような 中学・高校生向きかもしんない。
197 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:29:10 ] 小学生のおじちゃんたち、教えてくれありがとーo(´∀`)o
198 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:31:51 ] 中高生はたしかに極端なこと言うの多いよな。
199 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:32:33 ] 一面だけ見てわかった気になっちゃうからね C#関係ねーよバカ
200 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:35:36 ] 小学生でも使える素晴らしい言語です。 次は、英語を使えるようになりましょう。
201 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:35:48 ] で、小学生には、案外lispとかSqueakやPythonのほうがいいのかも。 Rubyでもいいけど、イディオムが多くて教えるのが大変そう。
202 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:44:45 ] 小学生向きの言語はLogoと昔から相場がきまっておる
203 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:47:27 ] しかし小学生に教える先生達はVBしか使えないのであった
204 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:50:12 ] 間を取ってSmallBasicだな
205 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:51:09 ] オッサンどもはいつになったらスレタイが読めるようになるの?
206 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:59:42 ] >>182 なるほど〜。Mainのなかで引数で条件わけするんですね。 すごい。目からうろこが落ちました。 ありがとうございました。
207 名前:デフォルトの名無しさん [2009/12/27(日) 18:14:59 ] コンボボックスで表示されるリストのうち、 どれかをマウスでクリックしたら、 次のタブオーダーの項目に遷移するようにしたいとき、 どのイベントを使用するものなのでしょうか。 Clickイベントだと、リストを表示しようとコントロール上の▼をクリックした瞬間に移動してしまいます。 また、SelectedIndexChangedに記述しても同様です。 教えていただけないでしょうか。よろしくお願いいたします。
208 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 18:20:03 ] >>207 マウスでクリックしてるのに勝手に別のコントロールに フォーカスが移動しちゃったら却って不自然だろ?
209 名前:デフォルトの名無しさん [2009/12/27(日) 18:32:13 ] >>207 やったこと無いけどBeginInvoke 使えば出来るかもよ
210 名前:デフォルトの名無しさん [2009/12/27(日) 20:37:08 ] 自己解決しました!
211 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:02:29 ] 自己解決できません。どうしたらいいですか
212 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:08:29 ] だからどれだと聞いているだろ
213 名前:デフォルトの名無しさん [2009/12/27(日) 21:09:53 ] データグリッドビューに、データセットをバインドして、 3項目表示させるようにしていますが、 ある1行をクリックすると、 BindingSource_PositionChangedが3回起きてしまいます。 なぜ、1行を1回クリックするだけで、 BindingSource_PositionChangedが3回起きるのでしょうか…。
214 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:14:24 ] >>207 SelectionChangeCommitted ではどう?
215 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:19:03 ] >>213 ごく単純なのを書くと一回しか発生しなかったので多分どっかでなんかやってる Enterやカーソルで行変えた場合はどうなの?
216 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:35:16 ] >>170 さん >>171 さん >>178 さん 参考になりました!ありがとうございます。
217 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:15:51 ] せめて全イベント試してから聞こうぜ・・・
218 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:21:45 ] >>217 検討します。
219 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:34:41 ] 質問があります。 <People> <Person IsReal="true" Name="坂本竜馬" Age="35"> </Person> <Person IsReal="false" Name="明智小五郎" Age="39"> </Person> <Person IsReal="true" Name="勝海舟" Age="18"> </Person> <Person IsReal="true" Name="西郷隆盛" Age="52"> </Person> </People> というXMLから、LINQ to XMLでAgeが38より大きい値のPersonを抜き出したいと思っています。 XDocument xdoc = XDocument.Parse(People); var query = from text in xdoc.Root.Elements() where text.Element("Person").(int)Person.Attribute("Age") >= 38 select (int)Person.Attribute("Age"); としてみたのですが、ぜんぜんだめです。 Elementの下はAttributeだと思うんですが、どこがどうだめなんでしょうか?
220 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:36:51 ] 自己解決しました。
221 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:40:10 ] 自己解決できませんでした。
222 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:42:27 ] と思わせて自己解決しました。
223 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:43:00 ] こんなカスしかいないところで質問した私がバカでした。 質問は取り下げます。
224 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:44:35 ] やーいやーい こんな質問も答えられないのかよゴミ!視ねや!
225 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:46:30 ] どうしようもないな・・・
226 名前:デフォルトの名無しさん [2009/12/27(日) 22:47:06 ] 単純に文字を印刷する場合 DrawStringが良いんですかね? DrawStringだと、2行印刷しようとした場合 座標を文字の大きさを読み取って、足していかないといけないので 座標を打ち込まなくても、文字を印刷する方法ってないんですかね? 教えて下さい
227 名前:デフォルトの名無しさん [2009/12/27(日) 22:47:27 ] ないお
228 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:47:54 ] >>226 AddStringのほうが良い
229 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:48:16 ] 同じく
230 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:49:52 ] あるね
231 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:50:23 ] ないあるよ
232 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:50:39 ] 質問は取り下げます。
233 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:51:00 ] どれが自己解決したんだかわかんねーよw >>219 var query = from text in xdoc.Root.Elements() where (int)(text.Attribute("Age")) > 38 select text;
234 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:51:15 ] >>219 RootがPeople要素なんだから、そのElements()は各Person要素になるっしょ Personの子要素にPerson要素は存在しないからtext.Element("Person")は当然失敗する あとtextじゃなくてpersonにすべきだと思うな
235 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:53:57 ] >>226 意味がよく分からん DrawStringでRectangleFを指定すれば、横幅を超えた分は自動改行してくれるが そうでなければまあMeasureStringとかで計測するのが妥当だな
236 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:54:08 ] むかしAPIスレにいた頃こういうの流行ってたわ。
237 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:03:36 ] あるお
238 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:07:03 ] あるお)キリッ
239 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:14:22 ] >>219 people より persons の方が好き
240 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:15:47 ] >>226 確認してないけど StringFormat で折り返しできなかったっけ?
241 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:25:39 ] >>240 できません
242 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:40:36 ] できるだろw >>226 普通に改行コードいれても改行できるし、文字を描画する矩形領域を指定してやれば 折り返しの改行もできる。 まあまあできてもあまりやらない気がするけど。 っていうか、MSDNライブラリぐらい読もうよ。
243 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:45:29 ] できますん
244 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:00:21 ] >>233 >>234 早速ありがとうございます。 テストデータでは動くのを確認できました。 ただ、実際のデータはもうすこし複雑で、数が多くエラーが出ています。 <People> <Person IsReal="true" Name="坂本竜馬" Age="35"><birthday="1836/01/03"> </Person> <Person IsReal="false" Name="明智小五郎" Age="39"> </Person> <Person IsReal="true" Name="勝海舟" Age="18"> </Person> <Person IsReal="true" Name="西郷隆盛" Age="52"> </Person> <Person IsReal="true" Name="坂本龍一" Age="57"><birthday="1952/01/17"> </Person> </People> から、「坂本」でAgeが38より大きい値のPersonの名前と年齢をセットで抜き出すにはどうしたらよいでしょう?
245 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:05:57 ] テキストファイルに文字を出力したいとき FileaAllWriteとStreamWriterってどっち使うほうがいいい?
246 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:17:41 ] >>244 birthdayタグが閉じてないから整形式XMLじゃないぞそれ whereにNameの条件追加してselectで匿名クラス作ればいい new { Name = text.Attribute("Name"), Age = (ry whereの前でletでnameやageを確保しとくと楽だな whereは||でつないでもいいしwhereを二個書いてもいい >>245 どっちでもいいよ 手軽だけど細かい操作ができないかその逆かだ
247 名前:233 mailto:sage [2009/12/28(月) 00:34:45 ] 初めから実際のデータ書けば二度手間にならないのになあ ハァ…
248 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:45:21 ] そういうない
249 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:49:15 ] xmlから自作のクラスのリストに放り込んでからselectするとインテリセンスも効いて楽かもしれない
250 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:06:18 ] >>244 >>246 整形式とか言う以前に、birthday要素(?)が滅茶苦茶だし
251 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:08:03 ] 一分間に100万行、改行をスペースに変換するソフトを作りたいのですが、 できません。どないしたらいいですか?
252 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:09:38 ] まずLANケーブルを抜きます
253 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:19:16 ] せやな
254 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:30:14 ] 常駐ソフトなどを止めて CPUをより高性能なものにします
255 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:30:55 ] せやせや
256 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:36:10 ] 楽しい?
257 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:37:30 ] 個人的には既存のUnEditerとかじゃ駄目なの? という疑問と 環境がわからないのにそんなことできるかぁ〜というのと
258 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:39:17 ] 分からない人はレスしなくていいです
259 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:52:52 ] ですね
260 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:54:11 ] C#でPC本体のビープを鳴らすにはどうすればいいですか
261 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:55:16 ] 分からない人はレスしなくていいです
262 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:55:58 ] >>260 文字コード0x07を出力してみればいいんじゃね?
263 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:56:56 ] いいね
264 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 02:21:53 ] コメントありがとうございます。 >>246 whereの前? let。うう。使ったことがない。 っていうかLINQそもそも初めての初心者なのです。 いまこんな感じ。 var query = from person in xdoc.Root.Elements() select new{ Name = person.Attribute("name").Value, Age = (int)person.Attribute("Age") > 38 }; contents = ""; foreach (var q in query) if (q.Name.Contains("坂本")) contents += q.Name + "\t" + q.Age + "\r\n"; とかで見よう見まねでコンパイルは通ったのですが、whereなくなってるし。…。 実行すると、「オブジェクト参照がオブジェクトインスタンスに設定されていません」のエラーだし。 やっぱりwhereですかね。 >>248 ほんとに、すみません。 質問するときには頭が混乱していて、うまく質問を整理できていませんでした。 >>249 初見の言葉が多すぎてちと自分では無理です。
265 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 02:27:33 ] >>264 取り敢えずforeachとif文から始めた方がいいかもしれんね
266 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 02:29:03 ] >>265 お断りします。
267 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 06:45:31 ] 型 'App1.Form1' は 'menuItem7' の定義を既に含んでいます。 こんなのが、3くらい出てデバッグ出来ません;どうすればいいですか?
268 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 06:54:04 ] menuItem7を多重定義してる var menuItem7 = … 〜なんかいろいろあって var menuItem7 = … ってなってるところを探せばいい
269 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 10:12:13 ] >>264 そういうことなら、質問する前にLINQを基礎から勉強しろよ。 それが終わるまでは質問する資格すらない。
270 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:47:48 ] StreamReader @in = new StreamReader(fileName); string line = @in.ReadLine(); これで読み込ませるとマルチバイト文字が 文字化けします。Shift-JISのテキストも読ませたいです…
271 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:49:47 ] >>270 StreamReader @in = new StreamReader(fileName,Encoding.GetEncoding("Shift-JIS"));
272 名前:270 mailto:sage [2009/12/28(月) 12:53:20 ] 事故解決。System.Text.Encoding.GetEncoding(932) を第二引数に付けるべし 乙乙
273 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:54:45 ] >>271 おぉ…"Shift-JIS"でもいいんか 便利だ…
274 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:57:15 ] @inってなに?
275 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:01:42 ] Orz→@rz→@in
276 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:22:51 ] >>274 あんまり推奨はされないけど、@ を付ければキーワードを変数名に使える。 in は foreach ( in ) で使われるキーワード。
277 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:30:30 ] >>276 ありがとう。
278 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:56:44 ] ようするに、@inなどという変数名は気色悪すぎるということだな。 _in などのほうがよほどマシ。
279 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:01:51 ] >>278 それは.Netが内部で使ってるから〜
280 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:06:42 ] >>276 やっぱり今回は礼は言わないでおく。
281 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:08:30 ] @ は基本的に、他の言語との連携用。 まあ、他の言語で使われることが想定されるなら、 そっちの言語でもキーワード限り避けるのが作法だけど。
282 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:12:44 ] ローカル変数にそれを(@)使うというのはどうかと思う。
283 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:13:22 ] >>281 ヘ_ヘ ミ ・ ・ ミ < はつみみです ( ° )〜
284 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 15:35:29 ] C#、テキストボックスの中身をStreamWriterなどを使って、テキストファイルに一行ずつ書き出してるんだけどc互換の \n 改行コードではき出すにはどうしたらいいでしょうか? エンコーディングとか変えてみたんだけどうまくいかない
285 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 15:39:23 ] WriteLineとかEnvironment.NewLine使うとか。
286 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 15:43:54 ] >>283 C# 言語仕様 2.4.2 識別子
287 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 17:31:09 ] VOIDさんって今どうしてるんだろ?
288 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:17:23 ] Form上に配置したラベルの上にポインターを持っていくとメッセージが出るようにするにはどうしたらいいんでしょうか?
289 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:21:30 ] ToolTipのこと?
290 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:31:42 ] >>289 ありがとう、名前が出てこなくってどうやるんだっけって悩んでた・・・。
291 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:33:45 ] >>290 そりゃ教えた甲斐が有ったわ。ヨイヨイっと。
292 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:38:01 ] >>287 No.2?
293 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:51:48 ] >>292 え?
294 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:52:21 ] ということにしたいのですね
295 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 19:07:16 ] へみ猫・・・
296 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 19:59:52 ] >>287 fjで活躍したあの人は今、って特集やらないかな
297 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 20:09:46 ] マ板にずっとスレがあったような・・・ しかし、アンチ脳にしろ信者脳にしろ、人に執着する奴って気色が悪いな。 精神分析の対象としか思えん。
298 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 20:16:01 ] >>297 なんかその反応も病的だぞ?
299 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 20:19:07 ] 怪物と戦う者は、その過程で自分自身も怪物になることのないように気をつけなくてはならない。 深淵をのぞく時、深淵もまたこちらをのぞいているのだ。 〜 ニーチェ 〜
300 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 20:20:43 ] >>297 君のレスがまさに・・・
301 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 20:28:21 ] Symbian上でもC#って使えるんですか?
302 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 20:39:16 ] へみ猫・・・
303 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 21:28:23 ] C#ソーステキストを読み込んで、自動でHTML用にfontタグ付加してくれるツール無いかな using System; //for form だと <font color="blue">using</font> System; <font color="green">//for form</font> みたいなの。
304 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 21:33:31 ] Blog用ツールとかであるな。俺は Emacs の csharp-mode でやって、face2html で出力してるけど。
305 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 21:35:01 ] manoli.net/csharpformat/ とかってのがあった。
306 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 22:36:47 ] いろいろあるねぇ ただ残念なのはほとんどのWebサービスが海外製ということ
307 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 22:41:10 ] ワードに貼り付け→WEBページとして保存、で出来るな。 COMコンポーネント呼び出しでなんか出来るんじゃないの。
308 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 23:10:17 ] いろいろあるね
309 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 23:29:08 ] >>296 一時期職場からpostできなくなったlalaとか懐かしい
310 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 00:48:04 ] C#はクラスや関数内じゃなくても並列処理されるんだな。 C言語だと完全に上から見ていくから int main(){ func(); } func(); これだとプロトタイプ宣言だかがないとかでエラーになるけど C#だと ClassOne{ //ClassTwoを使ったメソッドなど } ClassTwo{ } これがエラーにならなくて便利だな。
311 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 00:52:18 ] へえ
312 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:03:41 ] ふう
313 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:07:08 ] そういうの並列処理って言うのか.....?
314 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:14:01 ] 言わないね。
315 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:20:14 ] static void
316 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:25:29 ] ああ、2期か 誰が買うんだよこんなのw
317 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 02:56:31 ] (゚∀゚)!
318 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 09:50:31 ] volatile void
319 名前:デフォルトの名無しさん [2009/12/30(水) 00:18:36 ] コンボボックスに、Valueメンバー、Displayメンバーとして (Value,display)= (1,イヌ), (2,ネコ), (3,スズメ) と3種類を設定します。 そして、隣にテキストボックスAを設置し、例えばAに 「イヌ」と入力されたときは、コンボボックスに存在するのでValueの"1"を、別のラベルに表示。 「スズメ」と入力されたときも同様、Valueの"3"を、別のラベルに表示。 「ニワトリ」と入力されたときはコンボボックスにないので、別のラベルに"なし"と表示。 と、したいのですが、 あるテキストが、コンボボックスのリストに存在するかどうかを調べるにはどうすればよいのでしょうか。 よろしくお願いします。
320 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:24:53 ] FindStringとか
321 名前:319 mailto:sage [2009/12/30(水) 00:25:53 ] 自己解決しました。
322 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:27:08 ] よかったね。死ねハゲ
323 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:33:43 ] Form2から、Form1のメソッドにアクセスしようとしても、 メソッド自体が見つからないみたいで使えないんです。 どうやれば使えるようになりますか?それとも、Form2にそのメソッドをコピーするしかないですか?
324 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:36:35 ] Publicにする。
325 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:37:43 ] 変数とかもpublicにすれば使えるようになるんですか? というか、publicにしたら使えるのなら、何故始めから全部publicにしないのですか?
326 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:40:07 ] したきゃすればいい 止めない
327 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:40:17 ] 使わせたくないから。
328 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:58:11 ] 関数型プログラミング的に 匿名クラスやラムダ式が使えるのは大きい。 いちいちクラスを別の場所にごちゃごちゃ書いてから MyClass mc =new MyClass(); とかかくより var mc = new {Name="Kobayashi",age=17,}; このほうがすっきりしてはるかに読みやすいな。マジ最強
329 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:58:38 ] >>327 いや、使わせたくないってのは想像付きます だけど、何で駄目なんですか?ミスがおきやすくなるから?とかですか?
330 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:01:06 ] 使えると、モジュール結合度が高くなるから。 あとは、カプリングとコヒージョンについて書かれた文書でも読んでください。
331 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:05:24 ] モジュール結合度が高くなったらまずいんですか? 便利だと思うんですが
332 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:06:31 ] なんで便利なの?
333 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:06:55 ] 分かってて書いてる人のようですよ 以下スルーでよろしく
334 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:08:52 ] とりあえず、みんなに使ってもらいたいもの*だけ* public にすると思ってください。
335 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:09:18 ] まったくわかってない「どちて坊や」な可能性もあると思われ。
336 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:10:08 ] 全く分かってなけりゃモジュール結合度って何ですかと聞くよ。 高くなったらなぜまずいのか?は墓穴掘ってます。
337 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:11:58 ] わざとらしさプンプンだよなw
338 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:12:44 ] んじゃ、それで。
339 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:15:36 ] とりあえず>>334 で覚えておきます 別フォームから使いたくなったメソッドと変数はpublic付ければ良いんですね モジュール結合度ってそんなに重要なものですか? そんなに意識して開発したことは無いのでよく分からないです。
340 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:17:28 ] 次の方どーぞー。
341 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:24:55 ] ぷぅ〜、スッキリした
342 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 08:36:15 ] めんどくさいのが増えるよね、この時期は。
343 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 08:55:23 ] internal ってなんですか?
344 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:14:16 ] 公開範囲を決めるキーワードで”同アセンブリ内へ公開”を示す
345 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:15:35 ] staticとどう違うんですか?
346 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:18:43 ] ぜんぜん違うじゃん・・・教科書読むところからやりなおしたら?
347 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:19:11 ] 教科書無いんですがどうすればいいですか?
348 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:21:14 ] 買え。
349 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:35:29 ] お金無いんですがどうすればいいですか?
350 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:43:07 ] 自己解決すました
351 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:55:38 ] 自己解決してないです。 お金が無いんですがどうすればいいですか?
352 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 10:22:44 ] ヘルプ読めよ。
353 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 10:59:37 ] InfernalDispose(351);
354 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 15:07:48 ] マウスを監視して、放置状態を一定時間ごとに確認する常駐プログラムを作りたく思っているのですが、 マウス位置を10分ごとに比較するとして、 そのような処理は、Timerで600000msでポーリングかければ良いのでしょうか? 他に良い方法ありますか?常時起動しておくものなので、CPU負荷は最小にしたく思います。
355 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 15:22:38 ] C#でできるRoboCodeのようなものってないでしょうか? 以前から探しているんですがそういったものは見つかりません。 やはりないのでしょうか。よろしくお願いします。
356 名前:355 mailto:sage [2009/12/30(水) 15:34:29 ] ちなみにイメージしているのは以前あったTerrariumのようなものです。 お願いします。
357 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 16:30:24 ] 10分なら、タスクスケジューラでもいいんじゃね?
358 名前:デフォルトの名無しさん [2009/12/30(水) 16:40:35 ] a
359 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 16:42:06 ] >>357 タスクスケジューラのほうが軽いでしょうか。 というより、タスクスケジューラなるものを始めて知りました。 一度も使ったことが無かったです・・・ ちょっと調べてみます。出来そうならそれでやろうと思います。
360 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 16:44:45 ] そんな神経質になるほどCPU使わないよ
361 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 16:55:35 ] タスクスケジューラは、呼び出したときに、以前保存したマウス座標と比較して、 マウス座標をファイルに書き込んで、って処理を行うって事で良いのでしょうか? 出来ればそのように、常駐じゃなく10分に一度走らせる、のほうが良いのですが… でも、出来るだけ同時実行するファイルは少ない方が良いですし・・・ 負荷出来るだけ無くしたいじゃないですか。そこまで気にする人は少ないんですかね
362 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:00:21 ] もしフリーソフトかなんかで不特定多数が使うなら,タスクスケジューラなんて得体の知れないものは嫌われるよ
363 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:01:36 ] 常駐の方が、負荷は少ない。
364 名前:デフォルトの名無しさん [2009/12/30(水) 17:16:07 ] 起動終了繰り返す方が常駐より負荷高いよな
365 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:18:38 ] Console.SetWindowPosition(0,0); ってやってもコマンドプロンプトの位置が変わらないんだけどなんで?
366 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:19:54 ] 「得体の知れない」って、タスクスケジューラが? OSが提供してるサービスなんだけどな。
367 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:22:54 ] 負荷を下げたいならC#もやめないと
368 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:31:17 ] >>355 www.codeplex.com/terrarium2
369 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:32:18 ] ハァ?
370 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:40:06 ] >>366 中途半端に知識がある非プログラマにとっての話だよ
371 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 18:19:07 ] >>370 低能乙
372 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 18:28:31 ] 勝手に登録されたら気持ちわるいけど インストーラーで説明入るなら別にかまわない
373 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 18:51:35 ] かまわないですね
374 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 01:15:19 ] やはりそうですね、タスクスケジューラは嫌う人が居ると思うので、 常駐起動にして、普通に10分ごとにポーリングすることにします。 簡単なプログラムならC++でも出来るので、そっちでやろうかとも悩んでます。 とりあえずありがとうございました。
375 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 02:08:43 ] 「人間が操作をやめたか」を調べるなら根本的に方法が間違ってるけどね。 検知したいなら「マウスが動きを止めてから10分間経過したら」だよ。キーボードだって調べないと。
376 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 02:27:36 ] WebBrowserクラスもしくはmshtmlでjavascriptが使われてるページの情報 を取得したいと考えています。 ajaxでDOMを書き換えたとき、それをイベントとしてハンドルすることは できませんか?(OnDocumentCompletedじゃないですよね) また、書き換えた差分を抽出するのはdiffをとるしかないでしょうか?
377 名前:355 mailto:sage [2009/12/31(木) 02:29:53 ] >>368 2.0が出てたんですね。散々探してたくせに全然知りませんでした。 さっそくやってみます。ありがとうございました。
378 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 02:33:33 ] >>376 pc12.2ch.net/test/read.cgi/tech/1150036430/
379 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 02:35:47 ] >>375 操作をやめたか、なんですが、そこまで正確にする必要は無いんです。 それに、無駄に複雑にして重くするのも嫌ですし、出来るだけ軽くしたいので最低限の処理でやろうと思います
380 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 04:23:10 ] まあ思うとおりに組んでみなよ。実際に組んでみたら自分の考えてる最低限の動作もしないことがわかるよ。
381 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 05:25:26 ] >>380 たま〜に良いこと言うな
382 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 06:05:04 ] うむ。このスレの住人ってたま〜に良いこと言うな
383 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 06:14:17 ] ありがとう
384 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 06:26:35 ] 素朴な疑問なんですが this.WindowState = FormWindowState.Maximized; は何故 this.WindowState = WindowState.Maximized; こうじゃないんですか? this.FormBorderStyle = FormBorderStyle.None; とかはプロパティ名=列挙型なのに。
385 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 07:08:28 ] windowsstate列挙体はWPFが使ってるから
386 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 07:09:42 ] なにそれこわい
387 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 07:15:11 ] こわいですね。
388 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 07:24:30 ] おまいら大晦日に暇だな
389 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 11:07:31 ] そういえばなんでWinFormsはSystem.WindowsじゃなくてSystem.Windows.Forms名前空間にしたんだろうな 今はWPFがSystem.Windowsを使ってるが.NETの初期のバージョンの開発時にそんなことを予期してたとは思えないし
390 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 11:38:53 ] .NET Framework1.0が2002年だった そのころにはAvalonって言葉はあったと思うけど?
391 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 12:11:24 ] CLRの開発がいつから始まったと思ってんだ
392 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 12:13:31 ] VS2010って何が変わるの?
393 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 12:13:48 ] 2000年にはベータが配られてたな。確か。 つーか、MSのやることなんて、昔から全然一貫性ないじゃん。 臨機応変といえば、その通りなのかも知らんけど。
394 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 12:20:11 ] というか、.NET Frameworkってやっと2.0が普及したところなのに、 4.0なんて入れてくれる環境あるか?w
395 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 12:24:26 ] >>394 そのうちMicrosoft Updateで自然と入るだろ。
396 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 12:49:18 ] 3.5までは自然に入るよね
397 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 13:05:52 ] WPFの開発計画の発表は2001年らしいから、それくらいから考慮していても不思議じゃない
398 名前:355 mailto:sage [2009/12/31(木) 13:13:15 ] たびたびすみません。 教えていただいたterrarium2.0をいじってるんですが 現在はオープンソース化したとのことでMSのマニュアル等がないようなので つたない英語力でwiki等も調べてみたものの、APIのマニュアルが見つからないのですが これについてはやはり古い書籍等を参考にするしかないでしょうか?
399 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 13:15:26 ] 俺は始めたばっかだから 3時間9分54秒だった・・ 惜しい
400 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 13:16:20 ] 誤爆スマソ
401 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 13:22:25 ] >>400 の謝罪は撤回します・・・
402 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 13:31:16 ] 撤回するなw
403 名前:399 mailto:sage [2009/12/31(木) 13:34:13 ] 自決しました
404 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 13:43:28 ] Terrarium-2.0-SDK.zip にドキュメントがあるんじゃないの?
405 名前:355 mailto:sage [2009/12/31(木) 13:50:29 ] >>404 忘れていました。確かにありました。 ありがとうございました。
406 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:08:55 ] 本来、以下のように記述すべきところを string str; for(〜){ str = 〜〜; } 以下のようにforループ内で毎回ローカル変数を定義しては無駄が多いですよね。 for(〜){ string str = 〜〜; } でもこのように記述すれば1行減ってソースはスマートになります。 この程度ならC#のコンパイラは最適化してくれますか。 だとしたらこのように記述したいのですが
407 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:12:48 ] forの内と外で宣言するとスコープ範囲が違うけどそれはわかってる?
408 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:19:09 ] 前に調べた限りじゃ、ILへのコンパイル時に、その手の最適化はしてくれなかったような気がする。
409 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:22:33 ] >>406 for の中で string のインスタンス作って、for の中だけで使うんなら どっちで書いてもパフォーマンス変わらないと思うけど。 string str; ってやっただけだと何も起きないよ。
410 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:23:42 ] 最適化はしてくれませんか。 いちいちループ内でのみ使う変数を宣言だけループの外でするのは面倒だけど、最適化してくれないなら そう記述したほうが処理的には効率が良いということですね。 しかしループ回数が少ないなら殆ど影響ないかも。
411 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:29:18 ] >>409 でもループ内で毎回string str;とすると、stringクラスインスタンスのアドレスを確保する領域が 毎回そのつど確保されるんじゃないですか。
412 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:41:38 ] いいえ ローカル変数は一つの宣言につき静的に一つ確保されるだけ ループでも同じ
413 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:44:21 ] >>411 コンパイルしたら、forの外にいようと中にいようと、 吐かれるコードは ldloc (load local) だからなぁ。 一緒。 今、IL Disasm してみたけど、for 内でしかインスタンス作ってないなら コンパイル結果寸分たがわず完全一致してたよ。 Debug コンパイルですら全く一緒。
414 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:49:56 ] 一つのメソッドで使われるローカル変数の領域っていうのは完全にコンパイル時に決まるんだよ ループ内で宣言しようが全く関係ない
415 名前:414 mailto:sage [2009/12/31(木) 14:57:20 ] 誤解されそうなこと言ってるな もちろん実際に確保されるのはメソッドに入る時だけど そのときのレイアウトや必要なサイズはコンパイル時に確定しているということ
416 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 15:24:07 ] >>412-415 皆さんありがとうございます。 ローカル変数の領域確保の仕組みがよく分かりました。
417 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 15:57:33 ] クラスのnewとかならそりゃヒープ確保とかインスタンス作成とかでオーバーヘッドはかかってくるが、 ローカル変数自体なんて 単なるスタック領域にすぎないんだからどっちにしても普通は変わらん。
418 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 16:38:59 ] スコープとか関係なかったんだね。これは良いことを聞いた。
419 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 18:42:17 ] WndProcってなんですか?
420 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 18:54:04 ] ggrks
421 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 19:23:01 ] System.String str = new System.String(""); string str = "";
422 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 19:40:54 ] 自作しました。
423 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 20:47:58 ] はあ?
424 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 00:16:21 ] 自炊しました。
425 名前: 【凶】 mailto:sage [2010/01/01(金) 00:46:08 ] てst
426 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 16:03:32 ] 趣味でC#を勉強中なのですが ネット上で紹介されているプロの方の書いたコードサンプルを見ていて 継承元クラスのフィールドなどにアクセスする際 通常は「base.」と付けないような印象を受けたのですが こういう記述の仕方にセオリーといったものはあるのでしょうか? よろしくお願いします。
427 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 16:14:53 ] baseは、自分のメンバーに親と同じ名前付けちゃって、明示しないと親のメンバーにアクセスできないときしか使わないなぁ。
428 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 16:20:59 ] なるほど。そういう時は確かに明示する必要がありますね。 実際、明示の必要がある時だけ書く方がわかり易いですね。 ありがとうございました。
429 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 16:30:36 ] class A : B{ } って書くより class A{ B b =new B(); func(){ b.func(); } } でおk、baseいらね
430 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 16:55:51 ] >>429 継承元クラスって書いてあるだろ ちゃんと見ようぜ
431 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 16:59:37 ] まあどうしても継承でなければならない理由がない限りは>>429 の下の方が望ましいのは確か
432 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 17:04:04 ] 継承するより委譲しろってことだろうけど それは今回の問題とはまた別の話
433 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 18:48:38 ] base.Hoge 変数・メソッドにアクセスなら普通付けない : base(Hoge) 継承元のコンストラクターをコールするときは付ける
434 名前:デフォルトの名無しさん [2010/01/01(金) 20:54:24 ] VC#2008で開発しています ツールボックスに登録されているbuttonを継承したクラスを作った場合 IDEのデザイン機能の恩恵を受けることはできないのでしょうか?
435 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 20:56:30 ] 1回ビルドすればツールボックスに登録されるはず
436 名前:デフォルトの名無しさん [2010/01/01(金) 21:10:23 ] できました ありがとうございます グーグル先生に拾ってもらうメモとして ソリューションエクスプローラーを開いてbutton継承クラスを追加 using System.Windows.Forms; using System.ComponentModel; を継承クラスに追加 下記のように設定 class ExButton : Button { public ExButton() { base.SetStyle(ControlStyles.Selectable, false); } } まさに上の質問も参考になりました。 たぶんそれがなければその辺でもはまったかも
437 名前:デフォルトの名無しさん [2010/01/01(金) 21:12:41 ] あと関係ないかもしれないけどC#でぐぐるとVB.NETの方が多く出てくるケースが あったのでこのサイトの変換機能は重宝しました。 C#<->VB.NET相互変換 www.developerfusion.com/tools/convert/csharp-to-vb/
438 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 21:22:30 ] とあるbyte配列にbyte,byte,short,longとデータが並んでるとして、 それぞれの値を別の変数に格納するにはどうすればいいですか?
439 名前:デフォルトの名無しさん [2010/01/01(金) 21:27:52 ] >>438 unsafeにして、ポインタ使うのが楽じゃね?
440 名前:デフォルトの名無しさん [2010/01/01(金) 21:30:51 ] byte配列ならBitConverterか 自前で合成 short配列に byte[3]*256+byte[2] のような感じで(エンディアンは自分で考えてください
441 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 21:30:55 ] >>439 ポインタ厨以外の方に教えてほしいです
442 名前:デフォルトの名無しさん [2010/01/01(金) 21:31:06 ] アホかbitconverter使えよ
443 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 21:54:39 ] >>406 遅レスだけど、 ILでは、 .locals(...) で関数の最初で確保される。(確か)
444 名前:デフォルトの名無しさん [2010/01/01(金) 22:33:34 ] 以前スクリーンキーボードの件で相談した物です。 ある程度形になったのですが一つ困った挙動があります。 スクリーンキーボードの性質上なるべく最前面で表示させておきたいので、 TopMost=trueにしてアクティブにならないように制御して自前ツールが アクティブにならないように動くようになりました。 しかし、ツール以外のウインドウのタイトルバーをダブルクリックした場合 の挙動が死んでいるようで、一般的な「ウインドウの最大化」、「もとのサイズに戻る」 が渡っていないようです。 この場合の対策方法はありますでしょうか? 右上の並んでいる□が今回製作中のツールです uproda.2ch-library.com/201727nKr/lib201727.png わかっている範囲ではタイトルバーのダブルクリックだけ受け付けず その他は問題ないです
445 名前:444 mailto:sage [2010/01/01(金) 22:41:46 ] すみません 非表示の際にTopMost=flaseとしてみましたが結果は同じでしたので TopMostは関係ないようです。
446 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 22:42:45 ] 知ってます
447 名前:444 mailto:sage [2010/01/01(金) 22:46:59 ] おそらくこの辺が関係してるんですかね? //アクティブにならないウインドウに //するためのオーバーライド protected override void WndProc(ref Message m) { const int WM_MOUSEACTIVATE = 0x21; //const int MA_ACTIVATE = 1; //const int MA_ACTIVATEANDEAT = 2; const int MA_NOACTIVATE = 3; //const int MA_NOACTIVATEANDEAT = 4; if (m.Msg == WM_MOUSEACTIVATE) { m.Result = (IntPtr)MA_NOACTIVATE; return; } base.WndProc(ref m); }
448 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 22:48:47 ] タイトルバー、どこにあんの?
449 名前:デフォルトの名無しさん [2010/01/01(金) 22:52:09 ] >>448 あ、わかりにくくてすみません ツールじゃないほかのウインドウのタイトルバーのダブルクリック制御です その他ウインドウに影響を及ぼさないツールとして作りたかったのですが 今回のスクリーンキーボードが起動していると他所のウインドウの タイトルバーのダブルクリック挙動が効かない状態になるんです
450 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 22:56:12 ] ん? 自アプリじゃなくて、別のアプリの話? あんたのアプリを実行中に、他のアプリのタイトルバーをダブルクリックしても、反応がない、ってこと?
451 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 22:58:14 ] 勿論、>>447 を追記しただけのフォームで再現できるんだよな?
452 名前:444 [2010/01/01(金) 22:59:35 ] >>450 そうです 名前がないと面倒なのでスクリーンパッドと仮名をつけます メモ帳やブラウザなどを任意のウインドウサイズから最大に広げる際に 右上のボタン以外にタイトルバーのダブルクリックでも同じことが行えま すがスクリーンパッド起動中にそれができなくなるのでそれを回避する 方法が知りたいと思いまして・・・
453 名前:444 [2010/01/01(金) 23:02:26 ] >>451 formクラスは>>447 でオーバーライドします。 それとは別にタイマーを使って一定サイクルで下記処理を動かします。 private void timer1_Tick(object sender, EventArgs e) { int ThreadProcessId = GetWindowThreadProcessId(this.Handle, IntPtr.Zero); IntPtr OldWindowHandle = IntPtr.Zero; IntPtr targetWindowHandle = GetForegroundWindow(); if (targetWindowHandle == this.Handle && OldWindowHandle != IntPtr.Zero) { SetForegroundWindow(OldWindowHandle); } else { if (targetWindowHandle != OldWindowHandle) { int targetThreadProcessId = GetWindowThreadProcessId(targetWindowHandle, IntPtr.Zero); AttachThreadInput(ThreadProcessId, targetThreadProcessId, true); OldWindowHandle = targetWindowHandle; } } }
454 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 23:06:19 ] うーん。オレの環境じゃ再現できないな。 Vista SP2 x64 + Visual Studio 2008 SP1
455 名前:444 [2010/01/01(金) 23:14:27 ] あ、すみません 書き込んだらなんとか・・・がきちゃいました メッセージ処理などが他に居るのかと思い込んでたのですがどうも違ったようです。 タイマー内のIntPtr OldWindowHandle = IntPtr.Zero;の位置が悪かったようです これをタイマー処理のスコープから出したら問題なく動きました >>454 お付き合いしていただいて済みませんでした
456 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 03:15:48 ] AES暗号なんかを使う場合に鍵長なんかの指定はどうやればいいんでしょうか?
457 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 03:21:32 ] SymmetricAlgorithm.KeySize Property とかで指定。
458 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 04:04:46 ] >455 そんな面倒なことせずにWS_EX_NOACTIVATEを使えばいいのに
459 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 04:10:41 ] こんなサンプルあるじゃん。 msdn.microsoft.com/ja-jp/library/cc440905.aspx
460 名前:444 [2010/01/02(土) 04:58:39 ] いろいろ実装してたら朝に・・・ >>458 >>459 そっちを入れてみました。 簡単すぎますorz
461 名前:デフォルトの名無しさん [2010/01/02(土) 07:07:13 ] おかしな挙動ではまってるのでアドバイスいただければと思います。 デスクトップ上の始点と終点を指定するとその範囲だけを スクリーンショットとして保存するソフトです。 半透明で表示するフォームにラベルx4とpictureBoxを使っています。 ラベルx4の内、x2には始点と終点のXY座標を表示しています。 問題の挙動というのがpictureBoxをフォームにドッキングしてしまうと ラベルのテキストがまったく更新されないという物です。 pictureBoxのドッキングを解除してフォームより小さいサイズに するとラベルのテキストが更新されます。 対処方法とか何かありますでしょうか?
462 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 13:10:13 ] このスレからクソ内容の書き込みを特定するLINQつくってみた var a = from L in このスレ where 内容がクソ select 数値 a = 462
463 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 13:11:29 ] >>461 再現できるコードplease
464 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 15:18:43 ] >>461 windows付属のsnipping toolを使う
465 名前:デフォルトの名無しさん [2010/01/02(土) 16:20:56 ] 今、業務用Windowsフォームアプリケーションを作成しています。 その中で、ローカルPCの所定の場所に、重要データをテキストデータで保存できるようにしたいのですが、 個人情報はないものの、機密データでもありますので、テキストデータ保存時に暗号化したいと考えています。 C#で、そのような暗号化の機能はありますでしょうか。 ご教示ください。
466 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 16:23:15 ] System.Security.Cryptography.Rijndaelとか使えば ↓暗号化したって無駄だとかそういう突っ込みはいい 質問者が良いって言ってるんだから話をこじらせようとすんな黙れ
467 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 16:24:46 ] はい、ありますよ。
468 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 16:25:47 ] 突然なんなのw そう言われると指摘したくなるなぁ。
469 名前:デフォルトの名無しさん [2010/01/02(土) 16:43:07 ] >>467 どのような方法があるの?僕にも教えてください。
470 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 16:49:29 ] もう出てるけど、この辺をどうぞ。 System.Security.Cryptography 名前空間 msdn.microsoft.com/ja-jp/library/system.security.cryptography.aspx
471 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 18:00:03 ] ドットネットで完結しようとしないでOSの機能とか調べてみたらいいのに
472 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 18:15:50 ] >>466 > ↓暗号化したって無駄だとかそういう突っ込みはいい なんらかの形で、それなりの長さのパスワード入力させれば、無駄ということはないんじゃないか?
473 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 18:55:43 ] 歌の一フレーズ入力させるとかあったな。
474 名前:デフォルトの名無しさん [2010/01/02(土) 20:32:50 ] >>463 遅くなりました 一式まるまるです uproda.2ch-library.com/201913msf/lib201913.zip とりあえずpictureBoxはドッキングしてません 私の環境ではpictureBoxをフォームにドッキングするとlabelの更新がおかしくなります。 windowsXP home SP3 VC#2008Express .netF 3.5
475 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 20:34:14 ] このスレからクソ内容の書き込みを抽出するLINQ from このスレ select クソ内容の書き込み
476 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 21:44:08 ] >>474 まさかとは思うけど、そのコードでscreencap_rec(どうでもいいけどもうちょっと命名工夫しようよ) のpicturebox1をドックすると期待した動作にならない、って話? ラベルを更新するコードがformのMouseMoveイベントに書いてあるんだから当たり前じゃん。 フォームの全辺にドックしたらformのクライアント領域の全部をpictureboxが覆うんだから マウスイベントはんて発生するわけないでしょ。
477 名前:474 [2010/01/02(土) 21:53:49 ] >>476 >まさかとは思うけど、そのコードでscreencap_rec(どうでもいいけどもうちょっと命名工夫しようよ) みなさんはどういう感じでやってるんでしょうか? 頭の中に思い描いたプログラムを急いであれこれ実装してたので 命名まではあまり考えてませんでした >フォームの全辺にドックしたらformのクライアント領域の全部をpictureboxが覆うんだから >マウスイベントはんて発生するわけないでしょ。 あーなるほど・・・ つまりformのMouseイベントで処理してるところをpictureboxでやればいいんですね
478 名前:デフォルトの名無しさん [2010/01/02(土) 22:39:38 ] SATA のポート番号何番にどのハードディスクが刺さってるか知るには どうしたらいいでしょうか? WMI 使うのかなとは思ったんですが、どの namespace と class 使えばいいか わからなかったので、よろしくおねがいします。
479 名前:デフォルトの名無しさん [2010/01/03(日) 00:06:52 ] shift+tabキーでカーソルが入ったときにも Enterイベントを発動させるにはどうすればいいですか?
480 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 00:11:43 ] 別に何もしなくても発生するけど?
481 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 00:21:13 ] 保存形式を独自の物にしたいと考えたのですが(他のアプリケーションでは開けない) そこで考えたのがAES等による暗号化を施そうと考えました。 こういった場合にAES暗号化時に用いる鍵、IV情報はプログラム的に毎回同じものを生成するようにしておいたほうがいいのでしょうか?
482 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 08:05:10 ] 変数名とnewの名前同じなのにいちいち二回かくのめんどい abcde a= new abcde(); だったらabcdeが二回あってしつこい a= new ebcde(); でよくね? 一回で済ます方法ないの?
483 名前:482 mailto:sage [2010/01/03(日) 08:10:24 ] new abcde() a; 解決しましたありがとうございます。
484 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 11:20:06 ] var つかえ
485 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 11:33:44 ] インテリセンスを使わない理由がわからない
486 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 11:45:58 ] AClass a = new までうてば AClass() が補完候補にでてくるもんな。 var だとそうはいかない。
487 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 11:51:46 ] C#にvarなんてあったのか!
488 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 12:00:06 ] 何でも入る変数ではないぞ。コンパイル時に型推論してくれるだけだ。
489 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 12:07:16 ] 拡張メソッドって何ですか? Wikipedia見て見たけどよくわかんないです;
490 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 12:27:34 ] ポリモーフのルールがわからん たとえば void func(AClass); なメソッドがあったとして Object o=new AClass(); でfunc(o)はダメ AClass a =new AClass(); func(a);は大丈夫 AClassを敬称してるBClassについては BClass b = new BClass(); AClass a = new BClass(); のばあいfunc(b)、func(a)両方大丈夫 でOKなのか?
491 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 13:05:13 ] >>490 関数の引数の多態性は静的多態だからなぁ。 変数の型(new した方じゃなくて、 o とか a とか b の宣言時の型)に基づく。 それがキャスト可能かどうかがすべて。
492 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 17:35:04 ] >>489 MyFunctions.Foo(hoge); というstaticメソッド呼び出しを hoge.Foo() と書けるようにする仕組み。
493 名前:デフォルトの名無しさん [2010/01/03(日) 17:56:54 ] C#でoracleと接続する方法を教えて下さい C#はExpressEdition 2008で oracleは11g_home1です かなり初心者ですので 一から教えていただけるとありがたいです
494 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 18:03:11 ] ODP.NETを使います。Oracleのサイトにやり方が載ってるので、 それを参考にしてください。
495 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:28:09 ] 金払って教えてもらうレベルのことをただで丁寧に教えろという神経がわからん
496 名前:デフォルトの名無しさん [2010/01/03(日) 20:29:57 ] まず、コンピュータを購入します
497 名前:デフォルトの名無しさん [2010/01/03(日) 20:31:26 ] >>495 そう思ったらスルーすればいいだけですよ
498 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:51:25 ] >>493 ODBCでも使ってつないでろよ・・・。
499 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:52:11 ] >>493 ここはC#のスレです。 Oracleとの接続に関してはOralceのスレで聞いてください。
500 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:52:47 ] まあodp.netでぐぐればあとはできるからほっとこう
501 名前:デフォルトの名無しさん [2010/01/04(月) 00:51:58 ] System.Collections.IEnumerable 型で渡されたCollectionオブジェクト を処理する場合、その要素の元の型を知っていないと処理できないかと 思うのですが、使うときは foreach() 内などではその既知の型にキャスト してから(そのプロパティ値などを)処理するということでよいでしょうか?
502 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 00:57:51 ] うん。 今から作るなら普通は System.Collections.Generic 名前空間内のものを使うだろうから 型がわからないってことはないと思うけど。
503 名前:501 [2010/01/04(月) 01:23:21 ] >>502 >System.Collections.Generic こちらで送られてくる場合は型が付いてくる、ということなのですね。 古いコントロールだとIEnumerable で出来ているためにそういうことになる ということなのですね。わかりました。ありがとうございました!!
504 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 03:40:42 ] foreachにキャストが含まれているのは知っているだろうけど、 あれもジェネリック型が無かった時代の産物というか発想だよな
505 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 08:05:23 ] Formやプログラムの終了方法ですが Close(); Dispose(); Application.Exit(); Environment.Exit(0); どれがいいんですか?
506 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 08:22:22 ] タスクマネージャーより最前面にフォームを持ってきたいのですが、 GetForegroundWindowAPIを使って自スレッドにアタッチした後Activateも駄目、 勿論TopMostやFocusも駄目でした。仕様上出来ないものなのですかね?
507 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 15:32:56 ] >>505 Close()やDispose()は指定したFormだけ。 Application.Exit()なら全てのFormを閉じてくれる。 Environment.Exit()は知らね。
508 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:24:53 ] >>505 ここ見れホイホイ ttp://dobon.net/vb/dotnet/form/closeform.html
509 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:52:51 ] ストリームからデータを読み出そうとすると 'System.Security.Cryptography.CryptographicException' のハンドルされていない例外が System.Core.dll で発生しました。 追加情報: 入力データが完全なブロックではありません。 というエラーが発生してしまうのですが何故なのでしょうか?
510 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:56:08 ] そのまんまだろう 復号ストリームに食わせたブロックが欠落してる
511 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:59:13 ] FileStreamを対象ファイルで作成し CryptoStream作成時に上記で作成したストリームを渡して CryptoStreamMode.Readを行っているのですがどこでデータが欠落するのでしょうか・・・。
512 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:00:52 ] 対象ファイルの中身
513 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:03:45 ] >>512 そりゃそうですよね・・・orz ファイル書き込む時に暗号化データをStringに直して書き込んでればそりゃだめになりますわ・・・orz
514 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:05:53 ] 死んだ方がいい
515 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:20:17 ] PictureBoxの画像を半透明にしたいのですが。
516 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:23:47 ] if (a == 1) { b = 10; } else { b = 100; } 例えば上記の様な場合 b = (integerA == 1) ? 10 : 100; のように書くというのは 1)極力(あるいは絶対に)上の例のように書くべき。 2)極力(あるいは絶対に)下の例のように書くべき。 3)見易さに応じてケースバイケース。 4)特にセオリーはなく、完全に好みの問題。 熟練されてる方々は一般的に1〜4のどのスタンスで使用されているのでしょうか。 よろしくお願いします。
517 名前:516 mailto:sage [2010/01/04(月) 17:25:44 ] 下はintegerA じゃなくてa の間違いです。 それから上の b=100; も字下げ忘れてました。 見辛くてすみません。
518 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:29:34 ] あとから修正の入る可能性がないと仮定したうえで、 禁止されてない限り(禁止されることは珍しくない) 2 。
519 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:30:46 ] >>515 BackColorをTransparentにする 実装に無理があっていろいろトラブルが起きやすい方法なので,できれば 下に描画するものも含めてGraphicsで自前描画してしまうか WPFでも使ったほうがいい
520 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:32:01 ] 3でしょ、見やすさと言うかプログラムとして自然な方になる 例えば他にelse if が続いていて、たまたまこれだけがelseのみだった場合 これだけいきなり後者で書かれても不自然だ
521 名前:516 mailto:sage [2010/01/04(月) 17:37:50 ] >>518 >>520 可読性が上がるなら特に使用に抵抗感はないものの 職場などでは使用を禁止されることもあるという感じでしょうか。 下のような書き方はネット上では目にする機会があまり多くないように感じたので 一般的には推奨されない書き方なのかなと疑問に思っていました。 ありがとうございます。参考になりました。
522 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:43:54 ] どうしてもと言うならせめてこうして欲しい。 b = (hoge == 1 ? 10 : 100);
523 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:59:07 ] なるほど。勉強になります
524 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 18:08:25 ] >>516 式が複雑なら上で、計算しないなら下。 上の書き方は bが2回登場するので、自分は嫌い。
525 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 18:47:36 ] 「手続き的ではなく宣言的に書け」という原則があるが それに則っていえば一応下の方が良いことになるな
526 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 19:42:50 ] WinApp1-Resources-bg.bmpをBitmap型に取り出したいのですが、上手くいきません。 Bitmap bmp = new Properties.Resources.bg; これでもbgが存在しないらしく、ビルド失敗します。
527 名前:デフォルトの名無しさん [2010/01/04(月) 19:45:35 ] >>526 この辺かな? www.atmarkit.co.jp/fdotnet/dotnettips/555appresources/appresources.html
528 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:21:46 ] >>516 三項演算子は複雑になると他人が(そして未来の自分が)解読しづらくなるから ネストするようなのは素直に if 使うわな。 というか迷ったら if でいいと思うわ。 将来的に保守していくコードは冗長でつまんないぐらいでいい。 生成結果が変るならまた話は別になるけど。
529 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:40:19 ] >>516 俺も見やすさ重視でif使うかな
530 名前:デフォルトの名無しさん [2010/01/04(月) 20:43:42 ] 個人的な見解としては?使うのはマネージドな言語が使われる 今の時代でみるとギークぽいなあと思う。 C言語使うにしてもあえて?は使わないようにしてる
531 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:51:17 ] 一行で済むなら三項演算子使うわ
532 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:53:49 ] ここまでを纏めると 1でも2でも3でもなく4ですね
533 名前:デフォルトの名無しさん [2010/01/04(月) 20:55:41 ] >>532 そうそう 古参コーダーはたぶん>>531 の意見だろうし まあ変な先輩と一緒になるとスタイル押し付けられそうだけどね
534 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:57:43 ] if elseが大量にあるようなのなら三項演算子ですっきりさせるかあも
535 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:57:59 ] >>530 うーん、時代ってのでいうと、 ・LINQ とかで文よりも式が見直されてる(if は式木にならないけど、? : はなる) ・C#の cond ? a : b は a と b の型の一致を保証できる ってのもあって、むしろ昔よりも条件演算子使いやすいと思うよ。
536 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:59:12 ] >>534 if-else が大量に並ぶのはむしろ設計見直した方がいいかも。 仮想関数にならないかとか、分割できないかとか。 if-else が大量に並ぶような場面で ? : 使うと余計にひどいことになりそう。
537 名前:デフォルトの名無しさん [2010/01/04(月) 21:02:43 ] >>535 使いやすいというかせこせこ1行にまとめてもなあと思う
538 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:29:02 ] ちゅーか >>516 が聞いてるのってあくまで単純な代入の場合だよね? なんか途中で if か?三項演算子か?な議論にすりかわってるような 自分がどう書くかはともかく、他人が書いたソース読むときは 同じような処理が同じような書き方になってりゃどっち使ってても別に気になんないわ。 ちょくちょくぶれてるのが一番気持ちわるい。
539 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:29:04 ] >>536 泥臭い処理も世の中にはあるぞ
540 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:30:20 ] >>539 泥臭い処理は泥臭く書いた方が間違いが少ない
541 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:32:01 ] 三項演算子の是非の話? 三項演算子は値に注目して論理性がはっきりするからいいと思うけどな
542 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:39:12 ] 迷わずifです。ステップ数増やさないと稼げません。
543 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:44:34 ] 今時ステップ数はないわ。
544 名前:デフォルトの名無しさん [2010/01/04(月) 21:57:00 ] H社あたりはステップ換算じゃないの?
545 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 22:01:16 ] 工程数だろ今は
546 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 23:00:34 ] 人月換算なんかしてるから日本は終ってる
547 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 23:01:54 ] 馬鹿は if (a == 1) { b = 1; } else { c = 1; } みたいのですら a == 1 ? b = 1 : c = 1; ってやりたがるからな。
548 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 00:01:24 ] 特定のキー入力を受け付けない、ということは出来ませんかね? 左CtrlキーやAキーなど、入力されても他のウィンドウにはメッセージ送らない、みたいな。
549 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 00:26:50 ] >>548 キー入力全部いったん食ってから、特定のキーのときだけhandled=trueにしてしまう手はある。 グローバルフックでキー拾えばウィンドウまたがったキー入力拾いも可能。
550 名前:デフォルトの名無しさん [2010/01/05(火) 00:36:24 ] 特定のウインドウもしくはexeなどを監視してキー情報を 送ることは可能でしょうか?
551 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:02:36 ] >>550 再提出 特定のウインドウ(の○○)もしくはexe(の○○)などを監視して キー情報を(○○へ)送ることは可能でしょうか?
552 名前:デフォルトの名無しさん [2010/01/05(火) 01:07:04 ] 細かい部品までは意識しません 送り先が起動してるかどうか確認して要るようなら指定されているキー情報を送るだけです
553 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:15:44 ] 可能だけど、何を条件にするかによって判定する方法は違う 条件を聞いたのに答えなかったから回答もここまでだ 方法は自分で考えろ
554 名前:デフォルトの名無しさん [2010/01/05(火) 01:19:06 ] いやそんな難しい条件ではないんですが・・・ ただ送りたい相手を調べる方法もよくわからないので ヒントだけでもわかればと思ったんですが・・・ というかここは初心者スレですよね・・・
555 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:22:55 ] だからその条件を書けといってるんだろうが馬鹿め 話の通じない奴は初心者じゃなくて池沼だっての
556 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:23:46 ] そうだぞ池沼が
557 名前:デフォルトの名無しさん [2010/01/05(火) 01:25:59 ] その辺がうまく説明できたらここで聞く必要がないと思うのですが・・・ やりたいことは特定アプリのショートカットキーなどを登録したボタンを フォームに貼り付けて、そのボタンを押した際に送りたいアプリが居れば sendkeyで送るなどして、居なければ送らないというだけの動作です
558 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:29:28 ] >>557 msdn.microsoft.com/ja-jp/library/1f3ys1f9%28VS.80%29.aspx これでプロセス一覧を取る ウィンドウハンドルとパスが入ってるから適当にやればいい とりあえず十分だと思うが、上の方法は微妙に融通が利かないので 不便だと思ったらまた来い
559 名前:デフォルトの名無しさん [2010/01/05(火) 01:42:54 ] >>558 ありがとうございます
560 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:43:00 ] >>550-551 549の答えでいんじゃない? > 特定のウインドウ(の○○)もしくはexe(の○○)などを監視して 前者は FindWindow→GetWindowThreadProcessIdして SetWindowsHookExするDLLをDLLの作って キー入力をSend/PostMessageで流すぐらいかな 後者は自分の頭ではちと大変で EnumWindows→GetWindowThreadProcessIdで exe特定するのに逆に辿る必要性がある気がするので ハッシュリストにマーキングしたりで色々とめんどくさそう
561 名前:548 mailto:sage [2010/01/05(火) 02:19:10 ] >>549 キーボードをグローバルフックして、Handled=trueですね、やってみます。
562 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 02:24:33 ] グローバルフックはDLLいらんよ知ったか。
563 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 02:26:09 ] いつからいらなくなったんだ?
564 名前:548 mailto:sage [2010/01/05(火) 02:43:44 ] とりあえず、グローバルフックを使い、 メモ帳上でCtrl+Aを押してもaが入力されるようになりました。 しかし、Altキーの入力を防ごうとしても、Alf+Fでメニューが表示されたり、 Ctrl+Alt+Delでタスクマネージャが出たり、Alt+F4が使えたりします。 これらは仕方がないんですかね?
565 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 02:43:47 ] うろ覚えな知識でレスするもんじゃないなぁ >>562 ありがとう
566 名前:デフォルトの名無しさん [2010/01/05(火) 02:50:00 ] >>564 この辺は? www.gine.jp/blog/taka/post/Ce381a6e382afe383ade383bce3838fe383abe38395e38383e382afe381aee4bdbfe794a8efbc86ALTefbc8bCTRLe38282e38395e38383e382af.aspx
567 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 02:50:57 ] >>564 CallNextHookExに渡すパラメータを何やかんやするとキー入力潰せた気がするけどどうかね
568 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 03:33:18 ] MSペイントで文字を画像にした場合と全く同じ結果になるように Graphics.DrawStringを使用して文字列を画像化しています. Graphics.DrawString
569 名前:568 mailto:sage [2010/01/05(火) 03:35:41 ] とちゅうで投稿しちゃいましたごめんなさい Graphics.DrawString()の引数でフォントやサイズ,GraphicsUnitはきちんと指定したんですが どうもMSペイントの場合と結果が異なってる気がします. アンチエイリアスのせいかと思いすべて試してみたんですが同じ結果にはなりません. 文字描画の設定どうすればMSペイントと機能がおなじになるんでしょうか?
570 名前:デフォルトの名無しさん [2010/01/05(火) 04:23:17 ] コードの難読化のためのツールとしてDotfuscator Community Editionというのが 付属してるような記述をネットで見つけたのですがVisual C# 2008 Express Edition のような無料の物には付属しないのでしょうか?