■ このスレッドは過去ログ倉庫に格納されています
ふらっとC#,C♯,C#(初心者用) Part92
- 1 :名無しさん@お腹いっぱい。:2012/04/26(木) 21:32:32.95 ID:RzRn9VkL0.net
- ふらっとVisual C#,C♯,C#(初心者用)
このスレッドは
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
関連スレ
ふらっとC#,C♯,C#(初心者用) Part91
http://toro.2ch.net/test/read.cgi/tech/1335089085/
C#, C♯, C#相談室 Part71
http://toro.2ch.net/test/read.cgi/tech/1332575004/
こんな感じでソフトウェア板に立てたらどうかな
- 2 :名無しさん@お腹いっぱい。:2012/04/26(木) 21:41:40.86 ID:O5VqGHkR0.net
- ─ここは、プログラム板における同名スレにおいて、
IDが付与されないがため生じる定期的な荒れ進行を度々経験し、
疲れてしまった同スレの住人が、透明あぼーんの活用でまったりと
本来のスレの目的を果たし続けるために設けられた、
一種の避難所です。
- 3 :名無しさん@お腹いっぱい。:2012/04/26(木) 21:48:33.25 ID:k6WQuHfJ0.net
- ム板開いたのかと思ったわ
避難所part1で良かったんじゃね?
- 4 :名無しさん@お腹いっぱい。:2012/04/26(木) 21:56:27.84 ID:O5VqGHkR0.net
- >>3
感情的になった出て行け論者が立てたスレなので、
スレタイ名がメチャクチャになってしまったんだ。すまない。
- 5 :名無しさん@お腹いっぱい。:2012/04/26(木) 22:02:59.89 ID:4B8P7eLr0.net
- 荒れ気味の板がIDなしだと大抵ろくな事にならないのは分かるが、この板でする話なのか
- 6 :名無しさん@お腹いっぱい。:2012/04/26(木) 22:08:52.32 ID:O5VqGHkR0.net
- ム板から逃れる先として、ソフトウェア板以外に何かあるかな?
- 7 :名無しさん@お腹いっぱい。:2012/04/26(木) 22:45:50.27 ID:ztuW7M4rO.net
- ム板でやれ
- 8 :名無しさん@お腹いっぱい。:2012/04/26(木) 22:49:38.04 ID:O5VqGHkR0.net
- >>7
巣に帰れってことだな。言い返す言葉もないよ。
だが、避難所を同じ板に作ってもしょうがないからな。
- 9 :名無しさん@お腹いっぱい。:2012/04/26(木) 22:55:41.61 ID:bO5QxnlI0.net
- 荒れてる時はこっちに誘導したらいいんじゃないかな
- 10 :名無しさん@お腹いっぱい。:2012/04/26(木) 22:57:29.91 ID:O5VqGHkR0.net
- まあ、あっちに来た質問を無理にこっちに誘導する気はあんまり無いんだ。
向こうでも書いたけど、あっちのスレが回答不能なレベルに達してるってわけじゃないし。
むしろ、「IDがあった方が議論しやすい」と感じた人間だけが、こっちで議論すれば良いと思ってる。
- 11 :名無しさん@お腹いっぱい。:2012/04/26(木) 23:07:50.71 ID:O5VqGHkR0.net
- こっちを擁護しておいてなんだが、これで本スレのテンプレに
こっちのスレを追加すべき/すべきでない議論とか巻き起こるのは嫌だなあ。
テンプレ周りの変更議論はもめるし。
もめるくらいなら追加したくない。
- 12 :名無しさん@お腹いっぱい。:2012/04/26(木) 23:10:39.92 ID:8roaiKjI0.net
- 問題は回答者がここにくるかだな
- 13 :名無しさん@お腹いっぱい。:2012/04/26(木) 23:11:12.03 ID:bO5QxnlI0.net
- 俺が一番回答してるから俺がいれば大概大丈夫だろう
- 14 :名無しさん@お腹いっぱい。:2012/04/26(木) 23:17:43.49 ID:O5VqGHkR0.net
- >>12
俺も一応回答者。どんくらい回答したかまでは覚えてないけど。
- 15 :名無しさん@お腹いっぱい。:2012/04/26(木) 23:34:02.35 ID:8roaiKjI0.net
- じゃあ、ちょっと質問
インターフェイス使うと改変に強いっていうけどプロパティとどう違うの?
プロパティも内部の構造変えても他のクラスに影響がない
影響が出るとしたら、プロパティの型を変更した場合
インターフェイスも引数の型変更したら結局使いものにならないし
改変に強いって説明の仕方おかしくない?
内部の違うクラスを同じようにアクセスできるのを明示するということならわかるけどね
- 16 :名無しさん@お腹いっぱい。:2012/04/26(木) 23:43:32.60 ID:LlORaYbR0.net
- クラスというのは、実体を作れる型。
インターフェースとしいうのは、実体を作れない型。
- 17 :名無しさん@お腹いっぱい。:2012/04/26(木) 23:45:23.62 ID:O5VqGHkR0.net
- 「改変に強い」のは、インターフェイス自体の改変ではないよ。
改変に強い、って説明自体確かに誤解を招く表現で、
実際は「内部実装を気にしなくて良い」が正解だと思う。
インターフェイスとはちと違うけど、Streamなんかその最たるものじゃない。
Stream自体が何をソースにどうやって実現されているかは気にしなくてよくて、
処理する側はStreamクラスのオブジェクトに対して必要な処理(メッセージ)を要求すればいい。
インターフェイスを定義する、ってのはそれだけのことでしかない。
「Hoge(FileStream stream)」って定義したメソッドより、「Hoge(Stream stream)」って定義されたメソッドの方が、
汎用的に使えるじゃない。
- 18 :名無しさん@お腹いっぱい。:2012/04/26(木) 23:54:34.76 ID:bO5QxnlI0.net
- 改変に強いっていうのはどうなんだろうな
個人的には別に強くないと思うが
interfaceごしだと実装クラスを入れ替えられるけど
改変前と改変後の2つの似たようなクラスを両方保持して
interface越しにどっちを使ってるか分からなくするなんて考えただけでゾッとする
一つの具体クラスをただ書き換えるほうがずっといい
だから改変に強いと言うよりは
ライブラリを作る側が使う側に処理を実装してもらう時に使うものだと思うよ
IComparableを実装してもらってSortメソッドで使う比較関数に利用したり
まあC#3.0からラムダ式が使えるからそういう用途はもうほとんどお役御免だけどね
interface自体ほとんどお役御免といっていいと思う
ライブラリに残ってれば使うけど自作する意味は殆ど無い
- 19 :名無しさん@お腹いっぱい。:2012/04/26(木) 23:57:08.75 ID:65sWvc4W0.net
- ム板って取扱いと人種的に宗教戦争余裕なのに未だにIDないのか
- 20 :名無しさん@お腹いっぱい。:2012/04/26(木) 23:57:13.32 ID:LlORaYbR0.net
- インターフェースは、お役御免には、ならないと思うがな。
- 21 :名無しさん@お腹いっぱい。:2012/04/27(金) 00:04:32.27 ID:Op9+MQob0.net
- interface I{ int Hoge(); string Hoge2(); }
こんなのを作るより
class C{ public Action Hoge; public Func<string> Hoge2; } こんなのを作って
new C{ Hoge = () =>{ ... }, Hoge2 = () => "hogehoge" }
こうしたほうが早いしわかりやすいし個別に設定できて汎用性も上だから
もうinterfaceを作る意味は無いはず
- 22 :名無しさん@お腹いっぱい。:2012/04/27(金) 00:04:33.82 ID:M9E7Y8z10.net
- 例えば、UnityやXNAやDxLibなどを同じように扱えるようにするにはどうするべき?
ゲーム本体部分とライブラリとの丁度境界線上にあるクラスはどのように定義すべき?
- 23 :名無しさん@お腹いっぱい。:2012/04/27(金) 00:06:06.52 ID:adJRSpDB0.net
- お役ご免ってのは言い過ぎでしょう。後々機能追加が考えられる場合、
その機能追加に耐える様Interfaceを定義するコトなんて、(自分は)ザラにありますよ。
たとえば、画像ファイルに対して順次いろんな処理をするようなソフトを作ったとき、
最初はjpgとbmpしか対応しないでおいて、いずれpngとかtiffもやりたいなあ、と思った場合、
interface ImageProcessor { ... }
class JpegImageProcessor { ... }
class BmpImageProcessor { ... }
なんて。
処理自体が短ければ>>18の言うとおり、ラムダ式で十分なんだけど、
色んな段階を踏む処理の場合、処理自体をクラス化しちゃう方が後々追加し易い。
>2つの似たようなクラスを両方保持して〜一つの具体クラスをただ書き換えるほうがずっといい
っていうような懸念がある場合は、interfaceじゃなくて抽象クラスでやればいいし。
共通部分は抽象クラスで処理して、後々追加したい機能毎に変わりうる部分は具象クラスに任せて抽象メソッドを定義だけしておく、とか。
- 24 :名無しさん@お腹いっぱい。:2012/04/27(金) 00:10:18.02 ID:M9E7Y8z10.net
- >>23
もっともですねぇ
- 25 :名無しさん@お腹いっぱい。:2012/04/27(金) 00:13:36.43 ID:Op9+MQob0.net
- >>23
これだと違いはファイル読み込んでビットマップ作る
ビットマップをファイルに書き出す
ところが違うだけじゃないの
具体的なクラス一個作って
public Image(Pixel[][] bitmap)
こんなコンストラクタにして
new Image(JpegLoader.Load(file))
new Image(BmpLoader.Load(file))
書きだす時は
JpegWriter.Write(image.Pixels);
BmpWriter.Write(image.Pixels);
こんなもんでよくね
- 26 :名無しさん@お腹いっぱい。:2012/04/27(金) 00:15:00.08 ID:adJRSpDB0.net
- まあ、オブジェクト指向を完全に理解して常に完璧な形で実現出来てる、
なんて境地には到底達せないと思うので、今の自分の実装が正しいとも言い切れないんですけど。
Rxとか見てると、ラムダ式で全部・・・なんてのも決して非現実的ではないと感じるし、
「一つ一つの処理は短く」という基礎的なことを突き詰めていけば、
そういうこともきっとできるんだろうなあ、とは思う。
ただ、それでもinterface自体が無くなる可能性は低いだろうな。
俺は逆に、Rxが駆逐しようとしているのは開発者がclassを定義する、
という行為じゃないかと感じる。
- 27 :名無しさん@お腹いっぱい。:2012/04/27(金) 00:17:24.64 ID:nbH+qoH50.net
- 変数名につける英単語がわからなくて悩みまくる
- 28 :名無しさん@お腹いっぱい。:2012/04/27(金) 00:17:43.59 ID:adJRSpDB0.net
- >>25
それだと、あっちこっちで処理対象がJpegなのかBmpなのか判定しなきゃいけなくなるでしょう。
処理が読み込みと保存だけでいいなら、2箇所ぽっきりだしそれもありだと思いますけど。
Classとインターフェース作っちゃえば、インターフェースを介して処理してる本体側は大きな変更することなく、
一番アタマで対象の判定だけやって、クラスの実態をnewした後は同じ処理を続けるだけ、で行ける。
- 29 :名無しさん@お腹いっぱい。:2012/04/27(金) 00:35:15.50 ID:adJRSpDB0.net
- 極端に汎化するなら、こういうインターフェースを作るかな
interface ImageProcessor {
/// <summary>指定されたファイルがサポートされているかどうかを判定します。</summary>
bool Supported(string fileName);
/// <summary>指定されたファイルを読み込んで、オブジェクトを初期化します。</summary>
void Load(string fileName);
〜
}
本体側は
AssemblyからImageProcessorを継承してるクラスを全部引っ張ってきておいて、
private static readonl List<T> processors;
private ImageProcessor processor=null;
private Load (string fileName){
foreach (var p in processors){
if (p.Supported(fileName)){
processor=p;
break;
}
}
if (processor==null) throw new NotSupportedException(string.Format("{0}は未対応のファイル形式です", fileName));
processor.Load(fileName);
}
みたいな。こうすれば、処理本体側は変更なしで対応形式の追加が出来るだろうし。
- 30 :名無しさん@お腹いっぱい。:2012/04/27(金) 00:35:54.03 ID:Op9+MQob0.net
- まあ別にいいんだけどねこれでも
public Image(Func<Pixel[][]> reader, Action<Pixel[][]> writer)
public void Load()
{
Pixels = reader();
}
public void Save()
{
writer(Pixels);
}
これでinterfaceと大体同等だけど最初に入れてから入れ替えができなくて無意味に汎用性が下がるし
呼び出し側もメソッドの中で何が起こるのか分からなくなってソースがわかりにくくなるんで
必要がなければ避けるべき形だよね
public void Save(Action<Pixel[][]> writer)
{
...
}
処理の汎用化が必要でも、こんな風にライブラリ側だって必要なときに必要な物だけ渡してくれた方がわかりやすいし使う側も使いやすい
interfaceを使うと呼び出す場所(たとえばSaveを実際に呼び出すところ)とそれが定義されてる場所(Save処理を実装したクラス)が離れちゃうからわかりにくくなる
なにより「interfaceにそのメソッドが必要かどうか」という難しい判断をする必要がなくなるから問題がすごく簡単になる
- 31 :名無しさん@お腹いっぱい。:2012/04/27(金) 00:40:53.37 ID:adJRSpDB0.net
- まあ、やりたいことにあった方を選べば良いんじゃないかな。
実際、その二つの方法を提供しているライブラリも多いよ。
俺もそういうやり方することあるし。処理が端的に済む場合なんかは特に。
で、じゃあどっちかしか使わないか、っていうと、時と場合に依った。
どっちでも実現できる場合もあれば、どっちかじゃないとどうにもならん、とか
一方のやり方だとやたら遠回りなやり方になる、とか色々あったさ。
ライブラリを公開する、って観点で言うと、>>30みたいなやり方の方が使いやすいだろうな。多分。
実際、interfaceを定義する、っていう手間はあれで結構大変だし、ホントやりやすい方でやればいいと思うよ。
- 32 :名無しさん@お腹いっぱい。:2012/04/27(金) 01:33:59.48 ID:psMmyTva0.net
- ただ、制限がクリアできるならabstractの方が便利だけどね
interfaceで同一視したいクラスって、共通の処理がある程度有るし
- 33 :名無しさん@お腹いっぱい。:2012/04/27(金) 01:37:13.24 ID:3wpgqpvv0.net
- ( ・ω・)y─┛〜〜
- 34 :名無しさん@お腹いっぱい。:2012/04/27(金) 02:38:49.18 ID:adJRSpDB0.net
- まあ実際、interfaceとabstract classどっちが多いかっつったら、
今まで書いてきたような目的下だと、abstract classの方が多いな。
- 35 :名無しさん@お腹いっぱい。:2012/04/27(金) 10:42:30.93 ID:cReG2fZ90.net
- >>22
ゲームで必要な機能だけを、ある程度そのゲームに特化した形で抽象メンバにする
間違っても汎用的なライブラリを作ろうなどと考えてはいけない
- 36 :名無しさん@お腹いっぱい。:2012/04/28(土) 18:00:55.53 ID:dHnGlI/10.net
- 落ちた?
- 37 :名無しさん@お腹いっぱい。:2012/04/28(土) 21:16:46.38 ID:uBDtGHBV0.net
- そんな早くdat落ちするのかこの板
- 38 :名無しさん@お腹いっぱい。:2012/04/28(土) 22:23:13.82 ID:qRaW9tis0.net
- しないね。サーセン誤爆だ。
- 39 :名無しさん@お腹いっぱい。:2012/04/28(土) 22:24:15.68 ID:uBDtGHBV0.net
- 基本プログラミングっていうのは自分でライブラリを書いて自分で使うことの繰り返しだからな
汎用性が高く使いやすいライブラリを書いていくと良いプログラムになる
使いにくく汎用性が低いライブラリを作るとソースがなんだかわからなくなったり仕様変更できなくなったりする
- 40 :名無しさん@お腹いっぱい。:2012/04/28(土) 22:33:08.75 ID:qRaW9tis0.net
- 最初はそれも上手く行かなくて辛いけどな。試行錯誤を繰り返していく内に、
どうすれば汎用性が上がるかが分かってきて楽しい。
- 41 :名無しさん@お腹いっぱい。:2012/04/29(日) 09:55:22.97 ID:LSFzkJi50.net
- さんざ苦労してライブラリ作っても、意外と使わなかったりするな
使わずに温存してるうちに陳腐化したり、もっといいライブラリが登場したり…
- 42 :名無しさん@お腹いっぱい。:2012/04/29(日) 13:38:00.37 ID:91lLWKe20.net
- 今必要じゃないライブラリ作ってもしょうがないよな
テストもろくに出来ないだろうし
- 43 :名無しさん@お腹いっぱい。:2012/04/29(日) 19:13:44.11 ID:hNVwJi4l0.net
- それあるよな。必要な物書いていったらいつのまにかライブラリになってたってのが理想的。
- 44 :名無しさん@お腹いっぱい。:2012/04/29(日) 19:16:01.56 ID:15BXN5vX0.net
- もはやライブラリを作るほうが本来の目的になってる時、あるよねw
- 45 :名無しさん@お腹いっぱい。:2012/04/29(日) 19:20:20.22 ID:TJFFSLOz0.net
- 作りたいツールを思いつく→ツールに必要なパーツを作る
→そこで満足する、または飽きる
- 46 :名無しさん@お腹いっぱい。:2012/04/29(日) 19:24:44.61 ID:DeCDbekJ0.net
- そこが楽しさだからなぁ
完成が見えた時点でやる気が無くなる
- 47 :名無しさん@お腹いっぱい。:2012/04/29(日) 19:45:24.02 ID:91lLWKe20.net
- デバッグが一番大変だわ
コード書いてる時は楽しいんだけど
バグを出すために色々やってみるとかキツい
自分が使うツールじゃなかったらまず無理
- 48 :名無しさん@お腹いっぱい。:2012/04/29(日) 21:39:37.48 ID:5gSo7RFr0.net
- >>44-47
よう、おれ
- 49 :名無しさん@お腹いっぱい。:2012/04/29(日) 21:42:49.73 ID:91lLWKe20.net
- 前スレ埋まったw
ここに移動すんのか?
- 50 :名無しさん@お腹いっぱい。:2012/04/29(日) 21:45:58.44 ID:91lLWKe20.net
- おかしい・・・みんなどこに行ったんだ
- 51 :名無しさん@お腹いっぱい。:2012/04/29(日) 21:47:48.20 ID:91lLWKe20.net
- まあム板には相談室があるからふらっとがこっちにあっても
最悪質問者が誰もここまでこれなくて潰れても大して問題はないんだよな
- 52 :名無しさん@お腹いっぱい。:2012/04/29(日) 21:47:52.52 ID:5gSo7RFr0.net
- じゃちっと立てれるか試してくるわ
- 53 :名無しさん@お腹いっぱい。:2012/04/29(日) 21:51:38.15 ID:5gSo7RFr0.net
- あっ・・・ソフトウェア板様に、って貼られたテンプレをつかっちまった
スレタイ・・・すまない。
- 54 :名無しさん@お腹いっぱい。:2012/04/29(日) 21:52:29.22 ID:5gSo7RFr0.net
- ふらっとVisual C#,C♯,C#(初心者用) Part92
http://toro.2ch.net/test/read.cgi/tech/1335703825/
- 55 :名無しさん@お腹いっぱい。:2012/04/29(日) 22:04:03.98 ID:91lLWKe20.net
- なんだかよくわからないことになってきたな・・・
どっちに来ても質問が来たら答えるだけだけど
- 56 :名無しさん@お腹いっぱい。:2012/04/29(日) 22:09:46.37 ID:sYMu1fUT0.net
- VC#のデザインでコピーして貼り付けた時、Nameプロパティをコピー元に似せる方法ってないですか?
input_data_Box1ならinput_data_Box2とかinput_data_Box1(1)とかになってほしいです・・・
- 57 :名無しさん@お腹いっぱい。:2012/04/29(日) 22:18:35.45 ID:91lLWKe20.net
- 継承するかユーザーコントロールにしてInput_data_Boxっていうクラス名にしたらいいんじゃないの
- 58 :名無しさん@お腹いっぱい。:2012/04/29(日) 22:27:06.67 ID:sYMu1fUT0.net
- ありがとうございます
特に付加する機能のない継承をやるくらいしかないんですね
- 59 :名無しさん@お腹いっぱい。:2012/04/29(日) 22:29:44.31 ID:sYMu1fUT0.net
- 多少手間だからユーザーコントロール作るか・・・!
- 60 :名無しさん@お腹いっぱい。:2012/04/29(日) 22:32:06.71 ID:91lLWKe20.net
- 俺はなにもかもユーザーコントロールにしてる
1クラスに配置するコントロールは4つぐらいまで
超えたらユーザーコントロールにまとめる
- 61 :名無しさん@お腹いっぱい。:2012/04/29(日) 22:36:51.13 ID:DeCDbekJ0.net
- ユーザーコントロールって再利用性が全くないよね
- 62 :名無しさん@お腹いっぱい。:2012/04/29(日) 22:41:21.18 ID:91lLWKe20.net
- >>61
んなことないでしょ
よく出てくる複数のコントロールの組もあるし(追加、削除ボタンの付いたリストとか)
WinFormは継承しなくても基本全部いじれるようになってるから
単一のコントロールでもDock.Fillしてユーザーコントロールのなかで機能追加したりも出来るし
- 63 :名無しさん@お腹いっぱい。:2012/04/29(日) 22:48:34.11 ID:15BXN5vX0.net
- >>62
俺は、コントロールのプロパティをバインドさせたりすることがよくあるから、
INotifyPropertyChangedインターフェースを実装したUserControlの派生クラスを作ってる。
他にも共通機能とかをまとめておけば、いちいち実装し直す必要ないし、便利。
- 64 :名無しさん@お腹いっぱい。:2012/04/29(日) 22:53:51.89 ID:5gSo7RFr0.net
- >>61
まあ、変な基準でまとめると全く無くなる。
でもたとえば、ファイルパスを入力するテキストボックスと、参照ボタンのセットとか、
意外とよく使う組み合わせ、ってのは多いからな。
>>60のいう4つくらいまで、っていうのは何だか凄いな、と思うけど。
レイアウト系のパネル配置し出すと、4つなんて容易に越えてしまいそうなもんだが・・・
- 65 :名無しさん@お腹いっぱい。:2012/04/29(日) 22:54:42.98 ID:5gSo7RFr0.net
- ×パネル
○コンテナ
- 66 :名無しさん@お腹いっぱい。:2012/04/30(月) 00:30:14.37 ID:ItxvOLfT0.net
- 荒らしの人は相談室に行ったみたいだな
- 67 :名無しさん@お腹いっぱい。:2012/04/30(月) 01:20:42.98 ID:MeoH7oJd0.net
- 全部作り終わってから、ちまちまとライブラリに落としこんで行ったら動かなくなった。元に戻しても動かない(´・ω・`)
- 68 :名無しさん@お腹いっぱい。:2012/04/30(月) 01:32:15.13 ID:EicMUz7P0.net
- >>66
素人考えの眩暈のするような間違った内容だけど、自分の考えを書いてはいるんで別の人かな。
JITの話が出てたんで関連Tips
・JITとインタプリタは違う
・JIT結果はAppDomainをまたいで共有される
・Assemblyにする段階で構文解析終わって中間コードになってるためJITは高速
・コールドスタートアップだとJITコンパイラの読み込みに時間がかかる
・全部NGENしとけばJITコンパイラの読み込み自体がスキップされる
・JITさせたくないならNGENしときましょう
- 69 :名無しさん@お腹いっぱい。:2012/04/30(月) 05:39:30.54 ID:oGTSpznu0.net
- >>67
動かなくなるようなライブラリの落とし込み方ってどうやるんだ・・・
クラス単位で名前空間移して別DLLにするだけだろ?
アプリ側で随時using追加すれば動かなくなることなんてないだろ・・・
- 70 :名無しさん@お腹いっぱい。:2012/04/30(月) 08:12:58.08 ID:Cl926K6X0.net
- いまさらだがテンプレ抜けていたので
■備考
コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
http://pastebin.com/
コードを貼り付けてrun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます
- 71 :名無しさん@お腹いっぱい。:2012/04/30(月) 16:47:11.06 ID:z/qZQlkF0.net
- 複数のテキストボックスを入れたコントロールを用意し、
テキストボックスのTextプロパティ等をコントロールのプロパティで変更できるようソースに追記しました
(デザイナーで初期値を変更すること、プログラム上で参照することが目的)
デザイナーで初期値を変更することはできたのですが、プログラム上で参照することができません
using ディレクティブまたはアセンブリ参照が不足しています。
とエラーが出ます
検索するとNamespaceを追記すると良いと出てくるのですが、コントロールと本体のNamespaceは同じで、
最初から付いているコントロールのTagプロパティは参照できます
Modifierをprivateからpublicに変えたりもしたのですが、駄目でした
ソースは次レスで書きます
- 72 :名無しさん@お腹いっぱい。:2012/04/30(月) 16:48:09.55 ID:z/qZQlkF0.net
- //○プロパティの追加(1例)
public string Text_Box_Tag
{
set
{
input_tag_Box.Text = value;
}
get
{
return input_tag_Box.Text;
}
}
//○本体
//Tagの代入
foreach (Control item in Text_input_group.Controls)//コントロールはText_input_group内に配置しています
{
if (item.GetType().Equals(typeof(Control)))
{
int a=(int)item.Tag;//元からコントロールにあるTagプロパティは取得できます 中身は0〜です
Tag[a]=item.Text_Box_Tag;//追加したプロパティ エラー
Key1[a]=item.Text_Box_Key1;//追加したプロパティ エラー
Key2[a] = item.Text_Box_Key2;//追加したプロパティ エラー
Data[a] = item.Text_Box_Data;//追加したプロパティ エラー
}
}
処理が足りていないのでしょうか?
へ、ヘルプ・ミー
- 73 :名無しさん@お腹いっぱい。:2012/04/30(月) 16:51:06.91 ID:oGTSpznu0.net
- 一例、でわかるかよ。
そのプロパティの中に原因があるんだろ。
- 74 :名無しさん@お腹いっぱい。:2012/04/30(月) 16:51:59.35 ID:oGTSpznu0.net
- ン?違うな。なんだこのソース。
そもそもコンパイルできねえじゃん。
- 75 :名無しさん@お腹いっぱい。:2012/04/30(月) 16:52:49.07 ID:oGTSpznu0.net
- プロパティを追加したとかいうクラスの名前はなんだかしらないが、
そのクラスでキャストしなきゃそのプロパティにアクセスできるわけないだろう。
- 76 :名無しさん@お腹いっぱい。:2012/04/30(月) 16:52:54.05 ID:ItxvOLfT0.net
- 複数のテキストボックスを入れたコントロールのクラス名をTextBoxesControlとすると
if (item.GetType().Equals(typeof(TextBoxesControl)))
{
//ちゃんとTextBoxesControlにキャストする
TextBoxesControl boxes = (TextBoxesControl)item;
int a=(int)boxes.Tag;//元からコントロールにあるTagプロパティは取得できます 中身は0〜です
Tag[a]=boxes.Text_Box_Tag;
Key1[a]=boxes.Text_Box_Key1;
}
みたいなかんじでキャストすると、追加したプロパティにアクセスできるよ
Controlのままでは追加したプロパティにはアクセス出来ない
- 77 :名無しさん@お腹いっぱい。:2012/04/30(月) 16:53:49.60 ID:oGTSpznu0.net
- エラー、ってコンパイルエラーのことだったのね。浅はかな回答して済まん。
- 78 :名無しさん@お腹いっぱい。:2012/04/30(月) 16:57:55.31 ID:z/qZQlkF0.net
- >>76
なるほど
クラス名でキャストしてあげる必要があるんですね
無事コンパイルが通りました
ありがとうございました
>>77
いえ、私の説明不足ですみません
- 79 :名無しさん@お腹いっぱい。:2012/04/30(月) 18:03:22.34 ID:oGTSpznu0.net
- 本スレはいよいよ崩壊しているな・・・
回答がままならない
- 80 :名無しさん@お腹いっぱい。:2012/04/30(月) 18:05:04.00 ID:Lf0w4ZcY0.net
- 初心者の質問に初心者が答える正に初心者用スレッド
- 81 :名無しさん@お腹いっぱい。:2012/04/30(月) 18:06:33.19 ID:oGTSpznu0.net
- あの状態で答えられるエスパーは確かにあのスレにはおらんな。
たまにエスパーのいるスレがあるけど、ああいうエスパー達はどういう次元にいるのか理解が及ばない。
- 82 :名無しさん@お腹いっぱい。:2012/04/30(月) 18:06:38.03 ID:ItxvOLfT0.net
- あれはIDの必要性を分からせるための自作自演に違いない
- 83 :名無しさん@お腹いっぱい。:2012/04/30(月) 18:10:32.67 ID:oGTSpznu0.net
- ふと思えば、そもそも、あのプログラムでxcopyを使う必要はあったんだろうか・・・
- 84 :名無しさん@お腹いっぱい。:2012/04/30(月) 18:42:57.19 ID:wDghyqrL0.net
- >>77
コンパイルエラーと言えば、今作っている奴がコンパイル完と共にVSがエラーで落ちるorz
その後再起動すると普通に動くんだが、修正するとコンパイル後に落ちる
どっかのシンボル名が問題起こしているっぽいのだが情報有ったら教えて貰えませんかね?
- 85 :名無しさん@お腹いっぱい。:2012/04/30(月) 18:43:59.26 ID:ItxvOLfT0.net
- マイクロソフトのサポートに電話すれば
- 86 :名無しさん@お腹いっぱい。:2012/05/01(火) 09:16:04.91 ID:buWGJ5Ju0.net
- TextRenderer.MeasureText のオーバーロードの一つ
public static Size MeasureText(
IDeviceContext dc,
string text,
Font font,
Size proposedSize,
TextFormatFlags flags )
proposedSizeの意味がさっぱりわからないんですが
誰かバカな私に噛み砕いて教えて下さいませんか?
ちなみにバストは86cmです
MSDNにはこうありますが……
When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue , the returned Size will be adjusted to reflect the actual height of the text.
1 行のテキストを計測したときに proposedSize パラメータが Int32.MaxValue より大きい高さを持つ Size を表している場合、返される Size が調整されて、実際のテキストの高さが反映されます。
- 87 :名無しさん@お腹いっぱい。:2012/05/01(火) 09:18:00.24 ID:buWGJ5Ju0.net
- >proposedSize パラメータが Int32.MaxValue より大きい高さを持つ Size を表している場合
ここんところが意味不で困ってます
Size.HeightはintですからInt32.MaxValueより大きいってどゆこと?
- 88 :名無しさん@お腹いっぱい。:2012/05/01(火) 11:14:15.23 ID:K0wOwpVe0.net
- MaxValueより大きい・・・・ジャスコだな
- 89 :名無しさん@お腹いっぱい。:2012/05/01(火) 11:18:40.05 ID:efkrhIsb0.net
- MaxValueって31bit+符号で表現できる最大ってことじゃなかったっけ?
ファイル長なんかだとLongも一緒につかえるよね
- 90 :名無しさん@お腹いっぱい。:2012/05/01(火) 11:48:39.69 ID:7uSL+LzA0.net
- 見た感じproposedSizeに収まるテキストの最大のサイズを返すんじゃないか
MSDNがバグってるんだろう
- 91 :名無しさん@お腹いっぱい。:2012/05/01(火) 13:43:26.40 ID:qndYGAe10.net
- DataGridViewのFillの挙動が気にくわない。
「表示幅が余ったときはFill、それ以外の時はAllCells(ExceptHeader)」みたいな挙動をさせたい場合、
DataGridViewの継承クラスで容易に実装できないもんかな・・・
FillWeightとの絡みとか考えたら大変そうっちゃ大変そうなんだけど、
元々のFillの挙動(表示幅が不足すると、見切れてしまうしサイズの変更も出来ないしで詰む)が頭悪すぎて
どうにもこうにも。
- 92 :名無しさん@お腹いっぱい。:2012/05/01(火) 13:47:06.71 ID:qndYGAe10.net
- protected virtual CalculateColumnSizeCode とかそういうメソッドが隠れてねえかなあ、と
探したけど、それっぽいの無いんだよね・・・。
- 93 :名無しさん@お腹いっぱい。:2012/05/01(火) 13:47:57.54 ID:qndYGAe10.net
- ×Code
○Core
- 94 :名無しさん@お腹いっぱい。:2012/05/01(火) 20:46:32.83 ID:7uSL+LzA0.net
- 知らんけど一個一個MeasureTextして入るかどうか調べればいいんじゃねえの?
- 95 :名無しさん@お腹いっぱい。:2012/05/02(水) 00:13:17.88 ID:8lvEYvBv0.net
- 相談室荒れてるな
韓国コピペも相談室言ったか
- 96 :名無しさん@お腹いっぱい。:2012/05/02(水) 01:26:06.18 ID:ihqdrBlo0.net
- 失礼します。改行コードについての質問です。
改行1つをRead()で読み込むと10進で1310が返ってくるのですが、
これはCR(10進で13)とLF(10進で10)をまとめて1文字として読んでいるという認識でいいのでしょうか。
だとすると、CR+LFと\u051E(16進51Eは10進で1310)とはどう区別して判定するのでしょうか。
(\u051Eなんてめったに使うものではないでしょうが。)
もうひとつ、int型の1310をString.Format(string, Object)で16進変換すると"DA"が返ってます。
1310を分割して13->"D",10->"A"としているのだと思いますが、
これはどういうロジックでこうなるのでしょうか。なぜ"51E"ではないのでしょうか。
よろしくお願いします。
- 97 :名無しさん@お腹いっぱい。:2012/05/02(水) 01:39:43.60 ID:8lvEYvBv0.net
- CRが13,LFが10の2文字でしょ
2文字をいっぺんに読んで、何かよくわからない過程を経て1310に到達してるんだろうと思うけど
http://ideone.com/FlooQ
1310は16進数だと51Eになるみたいだよ
- 98 :名無しさん@お腹いっぱい。:2012/05/02(水) 03:00:20.14 ID:ihqdrBlo0.net
- 自己解決しました。一度のつもりの処理を二度行っていただけでした。
こんなことで小一時間悩んでいたなんて・・・
- 99 :名無しさん@お腹いっぱい。:2012/05/02(水) 05:46:56.72 ID:lw6+ZIwT0.net
- 文字コードの制御コードはすべてアスキーコード互換じゃないかな?
http://e-words.jp/p/r-ascii.html
- 100 :名無しさん@お腹いっぱい。:2012/05/02(水) 05:48:39.32 ID:lw6+ZIwT0.net
- おIDがあるw
ソフトウェア板に移動したのかw
- 101 :名無しさん@お腹いっぱい。:2012/05/02(水) 05:50:21.13 ID:lw6+ZIwT0.net
- で、windowsがなんで2文字のアスキーコードが返ってくるかといえば
http://ja.wikipedia.org/wiki/%E6%94%B9%E8%A1%8C%E3%82%B3%E3%83%BC%E3%83%89
- 102 :名無しさん@お腹いっぱい。:2012/05/02(水) 13:23:51.82 ID:40XiFrCp0.net
- やっぱIDいいよな
ない向こうは相変わらず荒れてるし
必死にIDあり移住に反対してた奴はいなくなったようで平和だ
- 103 :名無しさん@お腹いっぱい。:2012/05/02(水) 14:33:24.10 ID:8lvEYvBv0.net
- でも向こうのほうが盛り上がってるし・・・
- 104 :名無しさん@お腹いっぱい。:2012/05/02(水) 17:04:16.32 ID:oqXEWlNP0.net
- ここは盛り上がることが目的と違うし。
避難所、って銘打ってるんだからそれでいんじゃないの。
- 105 :名無しさん@お腹いっぱい。:2012/05/02(水) 19:22:47.29 ID:a9Xqu3H50.net
- 休みで暇なやつが荒らしまくりだな
あっち
- 106 :名無しさん@お腹いっぱい。:2012/05/02(水) 19:35:09.34 ID:oqXEWlNP0.net
- まあ程度が知れてる。完全に荒らし目的だろうから、どうでもいい。
- 107 :名無しさん@お腹いっぱい。:2012/05/03(木) 01:24:57.53 ID:3UKuwpbd0.net
- C#で作られてるソフトで、無償で、おまけにソースも見られる
そんな勉強するのに便利なフリーソフトってありますか?
他人のコードを見て勉強したいが、日曜グラマにそんな友達は居ない。
- 108 :名無しさん@お腹いっぱい。:2012/05/03(木) 02:33:39.68 ID:fBwe4Ony0.net
- >>107
どの程度のレベルかわからないが、msdnにはいくらかサンプルやビデオがあるし
codeplexやSourceForgeはオープンソース
どこも自分にぴったりのものを探すのは難しいけど
具体的にどういったソフトを作りたいか言ってくれたら
もう少し細かくアドバイスできると思うが
- 109 :名無しさん@お腹いっぱい。:2012/05/03(木) 11:53:58.79 ID:5G/cYvda0.net
- ニュース系板もなんか暇なやつかネタが無い業者の釣りなのかしらんが
数年前の事件でスレ乱立してるしなあ
- 110 :名無しさん@お腹いっぱい。:2012/05/03(木) 21:27:18.14 ID:VAj4gK3M0.net
- >>107
VS2010Express
Expression Blend評価版
逆コンパイルすれば最高峰のC#コードが読み放題
- 111 :名無しさん@お腹いっぱい。:2012/05/03(木) 21:29:25.30 ID:XONpxvSO0.net
- Expression Blendなんか使わなくても、ILSpyでも入れればいい。
- 112 :110:2012/05/03(木) 21:32:34.99 ID:VAj4gK3M0.net
- いや勉強の例として挙げたんだ
Expression Blendは全部C#だし0から一気に作られてるからとても綺麗
- 113 :名無しさん@お腹いっぱい。:2012/05/03(木) 21:44:17.23 ID:fBwe4Ony0.net
- ネットにアクセスするのにイテレータ使うとだめだな
プロパティを読みに行く度にネットに接続する
foreachなんか使うと、F5連打状態
気づいてよかったわ
- 114 :名無しさん@お腹いっぱい。:2012/05/03(木) 21:47:46.84 ID:8qH4YrS90.net
- どんな実装だよ
- 115 :名無しさん@お腹いっぱい。:2012/05/03(木) 21:53:53.85 ID:XONpxvSO0.net
- なにそのおそろしい実装www
- 116 :名無しさん@お腹いっぱい。:2012/05/03(木) 22:34:50.05 ID:7ENHv7f20.net
- イテレータを使うとダメなんじゃなくて、
イテレータの使い方を間違えるとダメなんだと思うが・・・。
まあ、変にイテレータに拘るより、馬鹿正直に書いたソースの方が、
往々にして後々保守性高かったりするけどな。
- 117 :名無しさん@お腹いっぱい。:2012/05/03(木) 22:37:32.84 ID:XONpxvSO0.net
- まずメモリーの無駄とか気にしないでList<T>なり作って
とりあえず読み込んで、動くものを作れば良いんだよ。
そうすれば、イメージが具体的になるわけだし、それから最適化を掛ればいい。
- 118 :名無しさん@お腹いっぱい。:2012/05/03(木) 22:52:25.64 ID:fBwe4Ony0.net
- まったくもってその通りなんだけど
今回の場合、深い階層で使っていたのを忘れて利用したために起きた
1レス読むごとにアクセスするみたいな感じ
- 119 :名無しさん@お腹いっぱい。:2012/05/03(木) 23:00:45.04 ID:VAj4gK3M0.net
- やるなら裏で非同期ダウンロードしながら列挙するのが筋だろうな
でも列挙がダウンロードに追いついてしまったらブロックすることになるから
やっぱり昔ながらのコールバックのほうが現実的だろうな
- 120 :名無しさん@お腹いっぱい。:2012/05/04(金) 21:45:32.36 ID:as1Q9Uxm0.net
- 画像編集ソフトとか作れる?
取り敢えずビットマップで色塗るだけ出来れば良い
- 121 :名無しさん@お腹いっぱい。:2012/05/04(金) 21:48:40.63 ID:Aa102tK60.net
- そんなhelloworldの次あたりに作るようなもん誰だって作れるだろ
- 122 :名無しさん@お腹いっぱい。:2012/05/04(金) 22:22:58.15 ID:as1Q9Uxm0.net
- どうやって?
- 123 :名無しさん@お腹いっぱい。:2012/05/04(金) 22:43:01.44 ID:KhG+aQQo0.net
- >>120
作れる。Paint.NETが代表例。
真面目に作ると難しいけど単純なやつなら
System.Drawing.Graphics使って図形描画するとこからやるといい
- 124 :名無しさん@お腹いっぱい。:2012/05/04(金) 22:55:47.11 ID:fDh4gRp10.net
- ペイント系も作れるしベクター系も作れる
ところでフリーで地図データが手に入るところないかなあ
ここのsvgデータをxmlで処理した後座標パーサを書いて
bitmapにしてみたけどなんかおかしい
http://www.kabipan.com/geography/whitemap/index.html
- 125 :名無しさん@お腹いっぱい。:2012/05/04(金) 22:56:25.79 ID:as1Q9Uxm0.net
- メモ帳とかみたいにUndoしてみたいんだけど・・・
- 126 :名無しさん@お腹いっぱい。:2012/05/04(金) 23:00:44.57 ID:BmjSpYKS0.net
- すりゃいいだろ
- 127 :名無しさん@お腹いっぱい。:2012/05/04(金) 23:05:10.60 ID:as1Q9Uxm0.net
- どうやってするのか聞きに来たんですよ・・・?
- 128 :名無しさん@お腹いっぱい。:2012/05/04(金) 23:07:31.51 ID:fDh4gRp10.net
- まあundoできるできないとグラフィック関連を扱えるようになるのは
わけて考えた方がいいな
まずはどうすればグラフィック関連をいじれるか学んだほうがいい
- 129 :名無しさん@お腹いっぱい。:2012/05/04(金) 23:10:59.12 ID:Aa102tK60.net
- どうせ課題の答えでも聞きに来たんだろ
聞く態度もなってないし問題丸投げで聞くし
こうこうこういう風にしたけど出来なかったとかいうのもない
まったく考えないでクラスの優等生に聞きに行くようなタイプ
- 130 :名無しさん@お腹いっぱい。:2012/05/04(金) 23:14:54.26 ID:as1Q9Uxm0.net
- まだ中学生ですよ・・・
- 131 :名無しさん@お腹いっぱい。:2012/05/04(金) 23:18:28.46 ID:fDh4gRp10.net
- でも現実問題としてどうすればいいですかねといわれても
現段階だと、画像系ソフトの骨格を作るくらいのレベルに
なるからちょっと気軽に質問して応えるレベルではないのも事実なんだよね・・・
- 132 :名無しさん@お腹いっぱい。:2012/05/04(金) 23:31:06.64 ID:as1Q9Uxm0.net
- pictureBoxがクリックされたらその座標を修得→その座標の色を変更
とか?
- 133 :名無しさん@お腹いっぱい。:2012/05/04(金) 23:49:08.53 ID:fDh4gRp10.net
- 以前ちょっとやってたのでざっくりとした内部の仕組は
頭にあるけど今は眠いのでまた明日ね
他の人でフォローできるなら相手してもらって・・・
ねる
- 134 :名無しさん@お腹いっぱい。:2012/05/05(土) 01:46:40.32 ID:z5l7RscG0.net
- 普通にビットマップをいじってDrawImageでフォームに書き出すのの繰り返しでいいんじゃないの?
ビットマップはLockBitsっていうメソッドを使っていじれば実用になる速度で動くはず
- 135 :名無しさん@お腹いっぱい。:2012/05/05(土) 07:08:51.74 ID:Cg9BHw6x0.net
- 宿題なら宿題で、要件(Undoを実装することとか)を先に出したほうがいいぜ
後出しされるとぶちきれちゃうオッサンとかいるからよぉ
宿題じゃないならもっと聞きようとか口のきき方があるだろボケ、と言いたいね
- 136 :名無しさん@お腹いっぱい。:2012/05/05(土) 07:30:19.91 ID:fm75d1sN0.net
- NGID
ID:Cg9BHw6x0
- 137 :名無しさん@お腹いっぱい。:2012/05/05(土) 07:49:10.05 ID:W4fkrUcA0.net
- ざっくりした骨格
http://ideone.com/TUgUt
undoしたいってことはどういう変更を掛けたか管理してないと駄目
- 138 :名無しさん@お腹いっぱい。:2012/05/05(土) 09:16:17.98 ID:k0vlExs70.net
- ざっくりとした質問にはざっくりとした答えで良いのだよ。
- 139 :名無しさん@お腹いっぱい。:2012/05/05(土) 10:00:02.60 ID:z5l7RscG0.net
- 初心者煽りはNGIDでスッキリ
- 140 :名無しさん@お腹いっぱい。:2012/05/05(土) 11:51:16.64 ID:k0vlExs70.net
- 素朴な疑問なんだが、IBindingList.Findっていつ使われるんだ?
DataGridViewで表示してても、あんまりありがたみを感じないんだが。
- 141 :名無しさん@お腹いっぱい。:2012/05/05(土) 19:26:16.33 ID:m7U0FwS60.net
- Javaを少しやってた者だけど
今まで趣味で適当に使ってたC#を勉強してみようと思ってる
それで下のどちらかを買いたいんだけど、お勧めはある?
Effective C# 4.0
http://www.amazon.co.jp/dp/4798122513/
究極のC#プログラミング ~新スタイルによる実践的コーディング
http://www.amazon.co.jp/dp/4774138622/
Effective Javaが重宝したから(つまりそれ系の本が欲しい)
一先ずEffectiveシリーズ買っとこうかと思ったけど
レビュー見てるともう一個の方も捨てがたい様に思う
いずれ両方買ってみたいけど金が無いのでどれか一冊
- 142 :名無しさん@お腹いっぱい。:2012/05/05(土) 19:29:02.38 ID:z5l7RscG0.net
- 別に本読まなきゃ分からないような言語じゃないし
Effective C++とか読んだほうがC#の中身が分かって役に立つだろう
- 143 :名無しさん@お腹いっぱい。:2012/05/05(土) 19:30:51.63 ID:/CJN4LW00.net
- >>141
http://www.google.co.jp/search?tbm=bks&tbo=1&hl=ja&q=C%23&btnG=
- 144 :名無しさん@お腹いっぱい。:2012/05/05(土) 19:34:06.24 ID:J6S1Frf80.net
- 中途半端な解説の本を買うよりは、ネットで十分なような。
http://matome.naver.jp/odai/2133594693176239701
- 145 :名無しさん@お腹いっぱい。:2012/05/05(土) 20:09:08.88 ID:m7U0FwS60.net
- 皆レスサンクス
>>142
そうじゃなくてEffectiveシリーズ読んだことあるなら分かると思うけど
小手先のテクニックやら作法の様な基本を知りたい
なまじJavaの知識だけで物が作れるもんだから
C#的な部分としての基本を見落としてると思う
読んだこと無いけどEffective C++読めってのは極論過ぎない?
>>144
上で挙げた本って中途半端なの?
別に良書があるなら教えてくれ
ネットは結構目を通してるから紙媒体で何か欲しい
- 146 :名無しさん@お腹いっぱい。:2012/05/05(土) 20:45:01.12 ID:42VAAxoJ0.net
- 英語でよければKindle本買えば安く読めるよ。
- 147 :名無しさん@お腹いっぱい。:2012/05/05(土) 22:24:45.24 ID:m7U0FwS60.net
- 電子書籍版あるんだね
でも英語は自信無いや
1冊目は無難にネームバリューのあるEffectiveにするよ
ありがとう
- 148 :1/3:2012/05/05(土) 22:39:23.48 ID:iim98xC70.net
- 質問です。長くなるので分割投稿します。
SQL Server CE 3.5 を使用しているのですが、
次レスのコードを実行してもテーブルに情報を挿入できません。
そのテーブル名は「test」で、単純に「id」、「hoge」列だけをもつものです。
(続きます)
- 149 :2/4:2012/05/05(土) 22:44:46.10 ID:iim98xC70.net
- SqlCeConnection conn = new SqlCeConnection();
conn.ConnectionString = @"Data Source=DB.sdf";
conn.Open();
var transaction = conn.BeginTransaction();
(続きます)
- 150 :3/4:2012/05/05(土) 22:47:35.07 ID:iim98xC70.net
- try {
var command = conn.CreateCommand();
command.Transaction = transaction;
command.CommandText = "INSERT INTO test (id, hoge) Values ('123', 'abc')";
int row = command.ExecuteNonQuery();
transaction.Commit();
} catch (Exception ex) {
transaction.Rollback();
(続きます)
- 151 :名無しさん@お腹いっぱい。:2012/05/05(土) 22:49:54.32 ID:Nyop5iOH0.net
- >>70使え
- 152 :4/4:2012/05/05(土) 22:50:31.20 ID:iim98xC70.net
- 上のコードを実行すると、変数 row の値は「1」ですが、
「SELECT * FROM test」すると、何も格納されていません。
しかし、Visual C# 2010 Express を使用して、
直接テーブルにクエリを発行して入力したデータをSELECTすること
(ExecuteReader()の返り値を参照)はできます。
どのようにすれば、C#のコードでINSERTやUPDATEができるのでしょうか?
(以上です)
- 153 :152:2012/05/05(土) 22:52:52.88 ID:iim98xC70.net
- >>151
すみません。>>70 の存在に気づかないまま、書き込みしてしまいました。
- 154 :名無しさん@お腹いっぱい。:2012/05/05(土) 22:54:23.40 ID:Nyop5iOH0.net
- 怒ってはいないよw
テンプレが>>70っていうのも遅すぎだし
ただそういうサイトもあるとは知っておいてね
- 155 :名無しさん@お腹いっぱい。:2012/05/05(土) 23:10:18.98 ID:jOpn+oX90.net
- INSERTしたのとSELECTしたのでデータベースファイルが違うんじゃね?
- 156 :152:2012/05/05(土) 23:27:51.26 ID:s0fFTjR50.net
- 回線が途切れたのでID、変わります。
>>153
お心遣いありがとうございます。次から >>70 を使います。
>>155
レスありがとうございます。
確認しましたが、データベースファイルは同じものでした。
INSERT する時も、SELECT する時も、
同じ SqlCeConnection() のインスタンスの接続を使用しています。
- 157 :名無しさん@お腹いっぱい。:2012/05/05(土) 23:32:45.30 ID:jOpn+oX90.net
- ttp://social.msdn.microsoft.com/Forums/ja-JP/vbgeneralja/thread/934bdbe3-2217-4cd7-bfc9-ae2ef5b731ac
具体的にはこれなんだけど
- 158 :152:2012/05/06(日) 00:04:16.04 ID:M3IW9sbJ0.net
- >>157
重ねてありがとうございます。
プロパティの「出力ディレクトリにコピー」を確認しましたが、
既に「新しい場合はコピーする」になっていました
ちなみに「常にコピーする」に変えてもみましたが、変わりませんでした。
- 159 :名無しさん@お腹いっぱい。:2012/05/06(日) 00:06:23.44 ID:oKHRofvw0.net
- 書籍も@ITもざっくり説明しているだけだからな
コピペはできても応用が効かない感じになる
ある程度わかった上で復讐がメモ代わりに見るのはいいけど
やっぱりmsdnが出発点には一番いい
- 160 :名無しさん@お腹いっぱい。:2012/05/06(日) 00:14:10.21 ID:xh4KhmH40.net
- MSDNは、リファレンスとしては、使うこともあるが、
学習用としては、あまり使わないな。そこらへんは、人それぞれか。
MSDN Blogsの記事(http://blogs.msdn.com/b/nakama/)は、読んでおいて損は、無いと思う。
- 161 :名無しさん@お腹いっぱい。:2012/05/06(日) 01:30:26.83 ID:oKHRofvw0.net
- >>160
ここいいな、参考になる
- 162 :名無しさん@お腹いっぱい。:2012/05/06(日) 12:14:46.69 ID:Dyi3DW+v0.net
- なんか例外出てんじゃないの? catchするの止めてみたら?
- 163 :名無しさん@お腹いっぱい。:2012/05/06(日) 14:01:23.28 ID:Q5pbWLBW0.net
- そこは出力すべきだろう
- 164 :152:2012/05/07(月) 00:25:37.29 ID:m037gZdq0.net
- >>162
これは >>152 へのアドバイスいただいているのだと勝手ながら解釈します。
レスありがとうございます。
例外は出ておらず、catch 句に処理は移っていませんでした。
以来、どうしようもなくなったので、すべてまっさらにして、
Visual C# 2010 Express で新たなソリューションを作り直したところ、
正常に動作するようになりました。
原因は終ぞ分からなかったものの、これで自己解決の気分にしたいと思います。
- 165 :名無しさん@お腹いっぱい。:2012/05/07(月) 15:25:42.69 ID:8qFi5QC30.net
- 正規表現についてなんですが、たとえば
001 001 002 002 003 004 004 005 005
とある時、自分の場合00[0-9]でマッチさせるんですが、最初の001にマッチさせたあと次にいきなり002にマッチさせる方法ってないでしょうか?
やはりNextMatchを2回呼ぶしかないのでしょうか?なにかいい方法を教えてください
- 166 :名無しさん@お腹いっぱい。:2012/05/07(月) 15:34:29.42 ID:UBnHdgfn0.net
- Matchesはだめなん?
- 167 :名無しさん@お腹いっぱい。:2012/05/07(月) 17:15:01.04 ID:EsKENrdI0.net
- >>165
for(,,){
regex.matches("?(00"+i.ToString()+")*");
}
- 168 :名無しさん@お腹いっぱい。:2012/05/07(月) 17:21:17.61 ID:EsKENrdI0.net
- var eroGazou=Enumerable.Range(1,5).Where(i=>{Regex.IsMatch("?(0\d{1}"+i.ToString()+")*");};
- 169 :名無しさん@お腹いっぱい。:2012/05/07(月) 17:23:08.80 ID:UBnHdgfn0.net
- >>168
なるほど
画像の連番かw
- 170 :165:2012/05/07(月) 18:37:15.95 ID:8qFi5QC30.net
- >>168
LINQ使う手があったんですね。それで試してみます。
>>169
まあそんなところですw
あと1つ質問なんですが、
for(int i = 1;i < 999;i++)
{
Match m = Regex.Match(src, @"00" + i.ToString());
if(m.Success)
data[i] = m.Value;
}
こういうコードを書いてみたんですが、これではだめなのでしょうか?
- 171 :名無しさん@お腹いっぱい。:2012/05/07(月) 18:57:17.03 ID:EsKENrdI0.net
- >>170
それだと00998になるんじゃない?
3桁にしたいならこれ
(src,"?("+ i.ToString("n3")+")")
- 172 :名無しさん@お腹いっぱい。:2012/05/07(月) 22:05:04.46 ID:SmzASuRUi.net
- >>170
あと。変数名は明確にわかりやすくするのが基本だ。
Match 今夜のおかず = Regex.Match(...
- 173 :名無しさん@お腹いっぱい。:2012/05/07(月) 22:05:57.36 ID:/M0Q9y5v0.net
- 意味がわかりませんw
- 174 :165:2012/05/08(火) 00:16:50.44 ID:mTraP+Vz0.net
- この前置きの?ってどういう意味があるんでしょうか?
代替構成体ってやつですか?
- 175 :名無しさん@お腹いっぱい。:2012/05/08(火) 01:41:39.89 ID:7KboTL1k0.net
- ちゃんと読んでないけど
?って0-1文字の何か,だよね
区切りのスペースを吸収してんじゃないのかな
- 176 :名無しさん@お腹いっぱい。:2012/05/08(火) 02:46:45.94 ID:gH9z368B0.net
- 最初のはてなは何なんだろうな
MSDN見ても書いてなかったわ
- 177 :名無しさん@お腹いっぱい。:2012/05/08(火) 03:25:06.62 ID:hKk999Ma0.net
- perl5準拠の正規表現なので専門スレで聞け
- 178 :名無しさん@お腹いっぱい。:2012/05/08(火) 12:29:27.96 ID:gH9z368B0.net
- いや答えをくれよ
- 179 :名無しさん@お腹いっぱい。:2012/05/08(火) 12:31:14.57 ID:X0Onj/iH0.net
- C#で正規表現は使えるけど正規表現の記述ルールは
perl5準拠だから分けて考えろよw
- 180 :名無しさん@お腹いっぱい。:2012/05/08(火) 12:45:19.29 ID:du0kGEvB0.net
- 001 002 とかの文字列作ってから比較するなら、正規表現じゃなくてstringのcontainで充分だよな
具体的に>>170を書き換えると
if(src.Contains(i.ToString("000")))
{
- 181 :名無しさん@お腹いっぱい。:2012/05/08(火) 12:56:11.63 ID:gH9z368B0.net
- http://msdn.microsoft.com/ja-jp/library/az24scfc.aspx
だからMSDNの正規表現に書いてないんだから最初に?つけるなんてのはないんだよ
必要なのは専門スレにいくことじゃなくてここで?つけてた奴が誤りを認めることだろ
- 182 :名無しさん@お腹いっぱい。:2012/05/08(火) 12:59:42.62 ID:X0Onj/iH0.net
- MSDNに書いてなくてもperl5準拠で動いてるんだから
正規表現のプロに聞けって
正規表現 Part9
http://toro.2ch.net/test/read.cgi/tech/1323566370/
- 183 :名無しさん@お腹いっぱい。:2012/05/08(火) 13:11:39.99 ID:gH9z368B0.net
- 俺はそんな馬鹿みたいな質問をして恥をかくのは嫌だよ
最初に?つけてた奴が出てきてどういう意図で書いたのか言えばいいだけ
間違った解答をしたんだからその責任がある
くだらない言い争いでスレを汚すのはやめてくれ
- 184 :名無しさん@お腹いっぱい。:2012/05/08(火) 13:13:42.55 ID:X0Onj/iH0.net
- 恥ってw
匿名掲示板なんてかき捨てだろうにw
下手なプライドでごちゃごちゃ騒いでるほうがみっともないわ
専門スレで聞けば教えてもらえるのに
- 185 :名無しさん@お腹いっぱい。:2012/05/08(火) 13:15:50.91 ID:gH9z368B0.net
- 答えはもうわかってるから
- 186 :名無しさん@お腹いっぱい。:2012/05/08(火) 13:23:06.64 ID:du0kGEvB0.net
- 170のロジックで、何故正規表現が要るのかさっぱり判らん
- 187 :名無しさん@お腹いっぱい。:2012/05/08(火) 13:27:38.59 ID:gx7ZjZDr0.net
- 最初に?をつけるのは最短一致だよ
つまり最初にマッチしたものだけが有効
何が不満なんだ?
- 188 :名無しさん@お腹いっぱい。:2012/05/08(火) 13:30:41.33 ID:gH9z368B0.net
- var eroGazou=Enumerable.Range(1,5).Where(i=>{Regex.IsMatch("?(0\d{1}"+i.ToString()+")*");};
この正規表現なんかメチャクチャじゃん
なにとマッチさせようとしてるわけ?
なんでiは1から5で決め打ちなのに2つ目は\dなの?
そのあとの+は何?11とか111とかにマッチさせたいの?
それに対してなるほどとか言ってるのは何? 自演?
- 189 :名無しさん@お腹いっぱい。:2012/05/08(火) 13:32:31.85 ID:gH9z368B0.net
- 最短一致は+とか*の後につけるんだよ
わけの分からんことをいわんでくれ
- 190 :名無しさん@お腹いっぱい。:2012/05/08(火) 13:33:40.30 ID:gH9z368B0.net
- ああ+は違ったわ
- 191 :名無しさん@お腹いっぱい。:2012/05/08(火) 13:36:09.26 ID:GymhAQMh0.net
- なるほどって言ってるのは、エロ画像の部分に対してじゃないの?頭冷やせよ。
- 192 :名無しさん@お腹いっぱい。:2012/05/08(火) 13:43:15.63 ID:gH9z368B0.net
- 試したけど最初に?が付いてると正規表現の解析時点で例外が飛ぶ
最後についてる*のおかげで何もない文字列にもマッチする
知ったかぶって初心者に間違った知識をひけらかして開き直ってるんじゃないよ
なにが専門スレで聞けだこんな初歩の初歩の内容で
- 193 :名無しさん@お腹いっぱい。:2012/05/08(火) 14:02:59.85 ID:5IWNInEq0.net
- その煽って答えを引き出そうってのは
プログラム板でやれよキチガイ
正解をいまコピペしようと思ったがやめたわ
- 194 :名無しさん@お腹いっぱい。:2012/05/08(火) 14:05:07.75 ID:gH9z368B0.net
- IDかえんな鬱陶しい
- 195 :名無しさん@お腹いっぱい。:2012/05/08(火) 15:37:55.87 ID:llgrnxWzi.net
- 結局IDあったって最終的にはモラルの問題よね
- 196 :名無しさん@お腹いっぱい。:2012/05/08(火) 18:25:59.23 ID:gx7ZjZDr0.net
- >>188
1から5ってお前が001から005までしか出してないじゃんw
- 197 :名無しさん@お腹いっぱい。:2012/05/08(火) 19:00:12.49 ID:du0kGEvB0.net
- >>196
その言い訳はあり得ないw
- 198 :165:2012/05/08(火) 23:08:30.90 ID:mTraP+Vz0.net
- >>175
お礼遅れてすいません。あれから調べてみたんですけどやっぱりよくわかりませんでした
>>186
画像URLを判別する正規表現なんですが、実際はもっと長いURLなので正規表現を使いました
いろいろ答えてくれた方ありがとうございます。
あと、自分の質問で荒れてしまい、すいませんでした。
- 199 :名無しさん@お腹いっぱい。:2012/05/09(水) 00:59:16.34 ID:kxP9CGP20.net
- ×吸いませんでした。
○素マンコ
- 200 :名無しさん@お腹いっぱい。:2012/05/09(水) 04:17:07.53 ID:LNIbcQkU0.net
- こんにちは。
xmlとかの使いかたがわからないので力技でその環境に合わせたexeをビルドする、ってプログラムを組もうとしています。
で、最後の最後で引っかかってしまいました。
csc.exeを叩いてビルドさせようと思ったもののcsc.exeだけでは動作しません。(当たり前なのはわかっています)
.netのフォルダごとまとめて配布しちゃうとかすればビルドの面では問題ない(ファイルサイズとか他にもいろいろマズそう)ですが、それは避けたいところです。
それ以外の方法でC#をビルドする、ってのはどうすればいいんでしょうか。
- 201 :名無しさん@お腹いっぱい。:2012/05/09(水) 04:28:12.63 ID:ykLw+OKj0.net
- XmlReaderとかXmlWriterとか・・・
- 202 :名無しさん@お腹いっぱい。:2012/05/09(水) 04:28:52.13 ID:KxtYeqV+0.net
- ・素直にXMLを使う
・プログラムからビルド
(http://www.atmarkit.co.jp/fdotnet/dotnettips/101compileinvoke/compileinvoke.html)
- 203 :名無しさん@お腹いっぱい。:2012/05/09(水) 04:44:56.24 ID:LNIbcQkU0.net
- プログラムからビルド、ってのもできるんですね。個人的にそれはちょっと避けたいのでごめんなさい。
XMLとかは一切勉強してないのでそこからですかね。
build.batとかを作ってuserにcsc.exeのpathをいじらせる、それをプログラムに叩かせる ってのを想定して試しに組んでみたもののいろいろやる必要があるっぽいですね。
batはユーザに叩かせるものにしようと思います。それぐらいやってほしいところですし…。
ありがとうございました。
- 204 :名無しさん@お腹いっぱい。:2012/05/09(水) 05:30:58.28 ID:tCunqWXC0.net
- せめてMsbuild
- 205 :名無しさん@お腹いっぱい。:2012/05/09(水) 05:33:04.68 ID:LNIbcQkU0.net
- >>204
起きたら調べる
とん
- 206 :名無しさん@お腹いっぱい。:2012/05/09(水) 05:47:55.49 ID:KxtYeqV+0.net
- >>203
なぜ勘弁したいのか分かりかねる。
プログラムからビルドして、ビルドしたアセンブリを.exeなり.dllなりで保存すりゃあいいじゃないか。
- 207 :名無しさん@お腹いっぱい。:2012/05/09(水) 07:28:32.03 ID:LNIbcQkU0.net
- >>206
なるほど、みるリンクを間違っていたようだね。
>>202の最初の方のリンクに頼りつつ別のexeを作ってそっちに投げる形で努力してみる。みんなサンクス
- 208 :名無しさん@お腹いっぱい。:2012/05/11(金) 17:58:11.91 ID:KWXw6kgy0.net
- 過疎り果ててるな・・・・
- 209 :名無しさん@お腹いっぱい。:2012/05/11(金) 21:29:13.65 ID:f0A2C8JG0.net
- 位置づけ的にこっちは避難所みたいなもんだから別にそれはそれで良いんじゃね
この板は確かなかなか落ちなかったはずだし
- 210 :名無しさん@お腹いっぱい。:2012/05/12(土) 19:51:10.89 ID:UIeofCgi0.net
- 久しぶりにここに来たのだが
前からIDの表示ってあったっけ?
- 211 :名無しさん@お腹いっぱい。:2012/05/12(土) 20:09:30.99 ID:6NFukbEw0.net
- よく板の名前を見てみろw
- 212 :名無しさん@お腹いっぱい。:2012/05/12(土) 20:21:56.03 ID:Ouq+wRbz0.net
- 息をするように自演してるからこっちでやらかしそうで怖い
- 213 :名無しさん@お腹いっぱい。:2012/05/12(土) 20:22:28.28 ID:EnOaymSY0.net
- 死ねよ
- 214 :名無しさん@お腹いっぱい。:2012/05/13(日) 17:40:40.30 ID:/aU9UOq3i.net
- まかせとけ
- 215 :名無しさん@お腹いっぱい。:2012/05/13(日) 17:45:37.48 ID:hQ2ica5m0.net
- いや俺が
- 216 :名無しさん@お腹いっぱい。:2012/05/13(日) 21:25:25.49 ID:xD8ADFqi0.net
- public Form1()
{
InitializeComponent();
var MonthCtrl = new MonthCalendar();
MonthCtrl.ContextMenuStrip = this.contextMenuStrip1;
var CtrlHost = new ToolStripControlHost(MonthCtrl);
this.testAToolStripMenuItem.DropDownItems.Add(CtrlHost);
}
http://www1.axfc.net/uploader/Img/so/142186.jpg
メニューを開いたまま右クリックでコンテキストメニューを開くにはどのようにすればいいでしょうか
- 217 :名無しさん@お腹いっぱい。:2012/05/13(日) 21:32:34.94 ID:Axjqo1yk0.net
- ToolStripDropDownMenuを継承して
OnClosingをオーバーライドしてコンテキストメニュー表示時はe.Cancel = trueにする
その後閉じる処理をどこかでしないと表示しっぱなしになるからそこんとこうまく処理する
- 218 :名無しさん@お腹いっぱい。:2012/05/13(日) 22:45:07.31 ID:xD8ADFqi0.net
- >>217
ToolStripDropDownMenuの使い方に少し悩みましたが何とか目的を達成できました。
本当にありがとうございます
- 219 :名無しさん@お腹いっぱい。:2012/05/17(木) 20:47:43.98 ID:/wFJphTP0.net
- Form1.csに色々と機能を詰め込んでツールを作っています
ツールの機能が増えてきたので、classを分けようと考えているのですが、どのように分けるか迷っています
・メインのテキストボックス(仮にtextbox1とする)があり、各機能からtextbox1のプロパティにアクセスする
・機能ごとに使用するボタンやコンボボックスが複数ある
思いつく方法としては
1.textbox1のプロパティをgetsetでForm1.csのプロパティとした上で、機能ごとにカスタムコントロール化する
→各ボタンのclickedが各カスタムコントロールのソースで書ける点がメリットだが、カスタムコントロール内のプロパティをForm1.csのデザイナーでいじることが面倒になる
2.各ボタンはForm1.cs上で設置したままで、各機能ごとにclassを作成し、Form1.cs上のソースでclickedが呼ばれたら各機能のclass内のメソッドを呼ぶようにする
→各ボタンのプロパティをForm1.csのデザイナーで設定できる点がメリットだが、Form1.cs上にclickedが残ることで綺麗に整理できた気がしない
今のところ1でやろうかと思っているのですが、アドバイスやこうするといいぜって方法があれば教えて下さい
- 220 :名無しさん@お腹いっぱい。:2012/05/17(木) 20:56:58.37 ID:BRanfvHF0.net
- 抽象的なアドバイスで申し訳ないけれど、
コントロールを起点に思考するのではなく、データを起点に思考すると良いかと思う。
A, B, Cというコントロールをこういう風に操作するから・・・ではなく、
α, β, γというデータをこういう風に編集するから・・・で考える。
コントロールは、それぞれの編集において
・編集処理の起点(ボタン操作などのイベント)
・編集結果の表示
である、と捉えておいた方が、良いと思う。
- 221 :名無しさん@お腹いっぱい。:2012/05/17(木) 20:58:44.82 ID:UP2D4Go60.net
- MVCでぐぐれ
- 222 :名無しさん@お腹いっぱい。:2012/05/17(木) 21:13:50.69 ID:aER5I2nt0.net
- たぶんMVCだがMVVMについては、考え方がいろいろあるので間違ってるかもしれないが…
UIであるフォームやコントロールは、ユーザーとの対話であることが前提だと思う。
具体的な処理とは、データベースに接続したり、データを取得するとか、ネットワークに接続する等。
この具体的な処理をモデル。
Form1.csなりUIを取り扱うコードで必要なのは、ユーザーからの要求・結果の表示に留めておく。
それらのUIに関する処理をビュー。
それらの間に位置するのがビューモデル。
ビューモデルの役割は、モデルのデータを取ってきてビューに表示できる結果を作ったりする。
ListBoxコントロールとかDataGridViewコントロールのDataSourceに関連付ける為のリストなどをビューモデルに持たせておく。
ビューであるフォームやコントロールは、ビューモデルが公開するイベントなどを使って
結果の表示やビューが公開するメソッドを呼んで何かしら操作の要求を行うようにする。
つまり、機能そのものとユーザーとの対話部分は、きっちりと分けて作っておいて
UIが無くても機能自体は、使えるようにする感じに。
※そこまでやるなら、WPF使えよ…という突っ込みは、受け付けていません。
- 223 :名無しさん@お腹いっぱい。:2012/05/17(木) 21:37:52.78 ID:t3KcC4L10.net
- >>219
Form1.csとかにロジックを書くのは常に悪手だよ
class Kinou
{
public Kinou(CustomControl cc)
{
cc.Event += (sender, e) => EventAction();
...
}
void EventAction(){ ... }
}
機能ごとに自作クラスに必要なコントロールを入れて何をするか一個一個書くべき
Formとかはレイアウトの都合でデザイナで自動生成されるだけだから
機能ごとにクラス分けしたりするには不向き
Formのメンバなんか多すぎてインテリセンスが使い物にならなくなるしね
だから2を一歩先に進めて全部自作クラスでやればいい
- 224 :名無しさん@お腹いっぱい。:2012/05/17(木) 21:40:42.89 ID:/wFJphTP0.net
- >>220-222
レスありがとうございます
MVCについて調べてきました
「コントロール→モデルのアクセスはあるが、モデル→コントロールやモデル→ヴューのアクセスはない」という考え方は意識していませんでした
すると、機能ごとにカスタムコントロール化するというよりも、各機能のメソッドをモデルとして抜き出して、
textbox1のプロパティは引数として与えて、モデル処理後に返させる or 別にデータを用意してモデルに管理させて結果として返させる という形にした方が良いのかと思いました
モデル→コントロールというアクセスがない方向でクラス分けを考えてみます
- 225 :名無しさん@お腹いっぱい。:2012/05/17(木) 21:46:23.75 ID:t3KcC4L10.net
- モデルからコントロールはもちろんいじっちゃだめだよね
でもモデルで処理するだけなら通常のプログラミングの範囲で
GUIの困難はそこを分離しただけじゃ解決しないからね
- 226 :名無しさん@お腹いっぱい。:2012/05/17(木) 21:49:27.21 ID:aER5I2nt0.net
- モデル:元請け業者
ビューモデル:仲介業者
ビュー:下請け業者
下請け業者から元請け業者に直接要求することは、できないし、
元請けも下請けに直接、何かすることは、できない。必ず仲介業者を通さないといけない。
- 227 :名無しさん@お腹いっぱい。:2012/05/17(木) 21:51:15.23 ID:/wFJphTP0.net
- >>223
レスありがとうございます
全部自作クラスでやれたらいいというのは分かるのですが、
教えていただいた方法は
自作クラス内で各ボタンの処理をカスタムコントロールとして受け取って処理する方法ということでいいでしょうか
自分で書いた>>219の1との違いがよくわかっていないので、よければもう少し教えて下さい
- 228 :名無しさん@お腹いっぱい。:2012/05/17(木) 22:08:47.35 ID:t3KcC4L10.net
- >>227
>>219の1はよくわかんないけど
Form1.csのプロパティにしたりするような、Form1.csを肥大化させるようなことはやめて
各機能ごとに自作クラスを作る
ボタンを押したらテキストを改変してテキストボックスに入れる、って言う処理だったら
class Hoge
{
public Hoge(Button btn, TextBox tb)
{
btn.Click += (sender,e) => tb.Text = Model.Hoge(tb.Text);
}
}
まあこんな感じで、その機能に必要な物があったらこのクラスにどんどん入れていく
機能ごとに必要なコントロールをまとめたクラスを作ってGUIの複雑さを軽減する
ロジックはModelのクラスに分離する
- 229 :名無しさん@お腹いっぱい。:2012/05/17(木) 22:21:48.71 ID:/wFJphTP0.net
- なるほど、わかりました
自分が現在記載している処理だとtextbox1のプロパティを直接いじっているので、自作した他クラスからForm1.cs内のtextbox1のプロパティをいじるには、
Form1.csのプロパティにしてしまうのが簡単かなと思ったので、「textbox1のプロパティをgetsetでForm1.csのプロパティとした上で」という書き方になっていました
自作クラスの引数にした方がよいということですね
- 230 :名無しさん@お腹いっぱい。:2012/05/17(木) 22:22:25.54 ID:/wFJphTP0.net
- ありがとうございました
- 231 : 忍法帖【Lv=40,xxxPT】 :2012/05/19(土) 18:01:20.21 ID:6aeuHIE80.net
- test
- 232 :名無しさん@お腹いっぱい。:2012/05/20(日) 00:02:48.81 ID:do1RvL6p0.net
- FlowLayoutPanelの様にAddで加えたコントロールを自動に並べるコントロールで、
並べるコントロールの位置を次は下、次は右、次は下といったように選べるコントロールはないでしょうか?
□
□□□
□□
みたいな感じで並べたいです
コントロールのLocationを直接指定していくしかないでしょうか
- 233 :名無しさん@お腹いっぱい。:2012/05/20(日) 00:24:59.24 ID:DcSMnQWK0.net
- そのぐらい自分で計算していれりゃええが
- 234 :名無しさん@お腹いっぱい。:2012/05/20(日) 00:26:57.61 ID:do1RvL6p0.net
- 今、調べてるとTableLayoutPanelとかもあったのですが、普通に計算した方がよさそう・・・
素直に計算して入れます
- 235 :名無しさん@お腹いっぱい。:2012/05/20(日) 04:48:51.35 ID:TJmnCt7r0.net
- >>232
FlowLayoutPanel.SetFlowBreakでいいんじゃない?
乗っかってるコントロールから設定するならFlowBreakね。
- 236 :名無しさん@お腹いっぱい。:2012/05/20(日) 18:34:02.07 ID:DcSMnQWK0.net
- var url = "http://www.hoge.com/";
var elem = new XElement(XmlConvert.EncodeName(url), "a");
これで落ちるんだけどなんでだろう
urlを変換してXNameに使うのは無理なんだろうか
- 237 :名無しさん@お腹いっぱい。:2012/05/20(日) 18:40:59.47 ID:DcSMnQWK0.net
- ああ普通に出来たわ
EncodeLocalNameでいいのか
- 238 :名無しさん@お腹いっぱい。:2012/05/20(日) 19:07:20.83 ID:vz/Du8h20.net
- >>237
MSDNのその辺のドキュメントは、読んでて混乱するからな・・・
おつかれ。
- 239 :名無しさん@お腹いっぱい。:2012/05/20(日) 21:09:09.28 ID:CjyZExuu0.net
- >>235
レスありがとうございます
結局TableLayoutPanelで対応しました
- 240 :名無しさん@お腹いっぱい。:2012/05/22(火) 22:15:56.28 ID:Zemo3eRi0.net
- Windowsフォームのデータバインディングについてだが、
例えば、こんな感じにtargetControlのValueプロパティにViewModelのDataプロパティをバインドさせるとして、
targetControl.DataBindings.Add( "Value" , ViewModel , "Data" );
ViewModel 側でINotifyPropertyChangedを実装して、
OnPropertyChanged("Data");のようにして呼び出したときにUIとスレッドが異なっていると、
例外(InvalidOperationException)が発生する。まあ、これは、当然といえば当然なのだが、
ViewModelでは、UIスレッドを意識しないようにしたいし、コントロールのValueプロパティなんかでも
スレッドの違いを意識しないようにしたい。
今のところ思いついた方法が、コントロールが生成された直後にコントロールのSynchronizationContextを
取得してViewModelに関連付けてOnPropertyChangedでSynchronizationContextを通して
PropertyChangedイベントを呼び出すという方法だが、どうにも良い方法とは思えない気がする。
これ以外に何か良い解決方法は、ありますか?
- 241 :名無しさん@お腹いっぱい。:2012/05/23(水) 02:42:36.72 ID:qa6OyKBe0.net
- NotifyPropertyChangedみたいなのはうまい解決をしようとして
逆に問題を複雑にしてるだけなような気がする
- 242 :名無しさん@お腹いっぱい。:2012/05/25(金) 10:35:25.98 ID:aQ/syKw30.net
- オブジェクトを保存するときXElementに変換してXMLで書き出しているのですが、
XElementに変換する一般的な書き方というのはありますか?
IXmlSerializableのようなものがあれば知りたいです。よろしくお願いします
- 243 :名無しさん@お腹いっぱい。:2012/05/25(金) 10:42:07.95 ID:0UAn5u+k0.net
- >>242
http://smdn.jp/programming/netfx/serialization/2_xmlserializer/
- 244 :名無しさん@お腹いっぱい。:2012/05/25(金) 12:31:54.65 ID:aQ/syKw30.net
- >>243
XmlSerializerは手間の割りに融通が利かないのでちょっと・・・
IXmlSerializable.WriteXml()のように再帰的にXElementを回収してくれるような仕組みがすでにあるかどうか知りたかった感じです
- 245 :名無しさん@お腹いっぱい。:2012/05/25(金) 12:53:36.41 ID:Hmr1Uhd40.net
- >>244
IXmlSerializable.WriteXmlを使えばいいのでそんなもん必要ない
XmlWriterの途中にXElementの内容書き込んだり普通にできるからな
- 246 :名無しさん@お腹いっぱい。:2012/05/25(金) 14:45:18.12 ID:T48ZmvCh0.net
- ContextMenuStrip に縦方向のスクロールバーを付けたいのですが、なんとかならないでしょうか。
アイテムが多くて画面に収まらないときはメニューの上下端に▲、▼が現れてそれを押すと
スクロールしますが、それではなくスクロールバーを付けたいのです。
ComboBoxのメニューのようなスクロールバーです。
VisualStudioでコードを入力しているときにメソッドがポッと出てくるメニューのようなスクロールバーです。
public partial class UserControl1 : ContextMenuStrip
{
public UserControl1() {
InitializeComponent();
this.VScroll = true;
}
}
こんなこともやってみましたがダメでした。
- 247 :名無しさん@お腹いっぱい。:2012/05/25(金) 17:19:46.33 ID:54oiiha70.net
- なんとかならなくもないだろうけど。
プロパティひとつ設定すればというお手軽な方法はないな
ToolStripDropDownから派生して、スクロールバー表示時のアイテムの幅自前計算するとか
もしかしたらToolStripから派生して自前でToolStripItemの管理するはめになりそう
むしろFormから作ったほうが簡単な予感がする
BorderなくしてListBoxでも全体に貼り付けてとか
- 248 :名無しさん@お腹いっぱい。:2012/05/26(土) 10:47:45.49 ID:/w9VkIqN0.net
- >>247
やはりお手軽にはできなそうですか。
ListViewを張り付けたFormを試してみようと思います。
フォーカスが外れたら、消える。
ListViewのSelectedIndexChangedで何かがクリックされたとみなして
メニューが選択されたときの動作を行う。
こんな感じでしょうか。
- 249 :名無しさん@お腹いっぱい。:2012/05/26(土) 16:44:22.18 ID:Oznxncr00.net
- 画像のバイト列をImageに表示したいのですが真っ白なままでどうもうまくいきません。
ローカルファイルをSourceにUriで指定すると表示されるのでXAML側の記述は問題ないと思うのですが・・・
↓こんなコードですがどこに問題があるのでしょうか?
http://ideone.com/7puAt
何かアドヴァイスいただけると助かります。
- 250 :名無しさん@お腹いっぱい。:2012/05/26(土) 21:50:26.72 ID:qEPXpQfe0.net
- 速度に関する質問です
下記の同じ結果を出す、ちょっと複雑な処理があったとします
(内容はfor文中にrを元にして、下記の通り、int型変数R、G、Bを作成します
r→R、G、B 0→0,0,0 1→1,0,0 2→0,1,0 3→0,0,1 4→1,1,1 5→2,1,1 〜)
for (int r = 0; r < 100000; r++)
{
int R = r / 4; if (r % 4 == 1) R++;
int G = r / 4; if (r % 4 == 2) G++;
int B = r / 4; if (r % 4 == 3) B++;
}
for (int r = 0; r < 100000; r++)
{
int R = r / 4 + (r + 3) % 4 / 3;
int G = r / 4 + (r + 2) % 4 / 3;
int B = r / 4 + (r + 1) % 4 / 3;
}
この処理を10回処理させたところ、処理速度は10回とも0.0016代と0.0024代になりました
一例
if文タイプ
00:00:00.0016217
複雑計算タイプ
00:00:00.0024181
if文を挟む方が遅いイメージだったのですが、複雑な計算をさせた方が遅いものなのでしょうか?
- 251 :名無しさん@お腹いっぱい。:2012/05/26(土) 22:03:04.02 ID:DTKuZabL0.net
- もっと繰り返し回数多くしたほうがいいんじゃないの
差が微妙すぎてよくわからない
あとr+2 r+1 rじゃないの同じ結果にしたいんだったら
あと計算結果とっといてどこかで使わないと最適化で捨てられちゃうんじゃない
複雑な計算させたほうが早かったりif文のほうが早かったりいろいろあると思うけどね
最適化の具合とかで
- 252 :249:2012/05/27(日) 00:38:22.87 ID:fLxELx8b0.net
- 自己解決しました。
↓のようにしたら表示されました。
http://ideone.com/7p4hu
BeginInitの後に
bi.CacheOption = BitmapCacheOption.OnLoad;
を入れることで表示されました。
- 253 :名無しさん@お腹いっぱい。:2012/05/27(日) 09:54:33.99 ID:HSQgQMmy0.net
- formとメトロってワンクリックで切替できますかね?
- 254 :名無しさん@お腹いっぱい。:2012/05/27(日) 10:00:40.57 ID:clOyRCuk0.net
- >>250
その程度の距離のif文ならL1の中にすっぽり納まるからなあ
むしろ/や%の方が重いはず
- 255 :名無しさん@お腹いっぱい。:2012/05/27(日) 10:03:45.45 ID:clOyRCuk0.net
- >>250
これって速度的にはどうなる?
for (int r = 0; r < 100000; r++)
{
int R = r>>2; if ((r & 0x3) == 1) R++;
int G = r>>2; if ((r & 0x3) == 2) G++;
int B = r>>2; if ((r & 0x3) == 3) B++;
}
- 256 :名無しさん@お腹いっぱい。:2012/05/27(日) 10:08:42.69 ID:clOyRCuk0.net
- その前に最初の計算式二つは結果が等価じゃねーだろw
- 257 :名無しさん@お腹いっぱい。:2012/05/27(日) 10:45:25.60 ID:clOyRCuk0.net
- ちょこっとコード書いてて気になったんだが最後のパターンがなんか納得いかない結果になる
http://ideone.com/t4Tro
- 258 :名無しさん@お腹いっぱい。:2012/05/27(日) 10:48:20.87 ID:clOyRCuk0.net
- あ、すまんこれで納得いく結果になった
http://ideone.com/FW5ED
- 259 :名無しさん@お腹いっぱい。:2012/05/27(日) 11:12:54.46 ID:clOyRCuk0.net
- シフト演算使ったほうが早いね
http://ideone.com/o1mSO
- 260 :250:2012/05/27(日) 14:31:19.39 ID:j8A7jdt/0.net
- みなさんレスありがとうございます
ケースバイケースなんですね
/や%を2回程度余分に使うより、if&++;の方が早いとのだと思っておきます
盲目的にifはできる限り減らした方がいいと思い込んでました・・・
シフト演算を使うという発想はありませんでした
というより、普段使ってないので、コードの意味がわかってないので、コードを参考に勉強してきます
- 261 :名無しさん@お腹いっぱい。:2012/05/27(日) 16:43:36.10 ID:GiQAzp3Q0.net
- switch(r % 4) にすると?
- 262 :名無しさん@お腹いっぱい。:2012/05/29(火) 14:07:21.53 ID:/PVv+z9w0.net
- WPFアプリとKinectアプリ間で文字列の送受信を行いたいのですがどうすればよいのでしょうか?
Process.Start("Kinectアプリ名.exe");でKinectアプリをWPFアプリ側から起動した後、文字列の通信を行いたいと思っています。
IPCを用いたプロセス間通信を行えばよいのでしょうか?
知っている方がおられましたらご教授をお願いいたします。
- 263 :名無しさん@お腹いっぱい。:2012/05/29(火) 16:37:54.74 ID:2RvCxbWa0.net
- このスレで質問することではないかもしれないのですが
どこで聞いていいのかわからないので質問します><
DirectShow.Netでフィルターの設定をしたいのですがどのように
して設定してあげればよいのかわかりませんorz
解説サイトも動画・静止画のキャプチャの仕方位までしか掲載
されていません。ざっくり、このメソッドを使えば程度でかまいませんので
よろしくお願いします。
- 264 :名無しさん@お腹いっぱい。:2012/05/30(水) 05:04:06.91 ID:AggJDhf10.net
- >>262
そんなマニアックな状況、やってみなきゃわからんのだから
IPCでまずはやってみなよ。
- 265 :名無しさん@お腹いっぱい。:2012/05/30(水) 21:18:00.04 ID:M2GA61XI0.net
- c#でトランプの数当てゲームを作りたいのですが、ホームアプリケーションでいいなでしょうか?
- 266 :名無しさん@お腹いっぱい。:2012/05/30(水) 21:52:42.67 ID:QkV5fjWR0.net
- いいな いいな にんげんて いいな
- 267 :名無しさん@お腹いっぱい。:2012/05/30(水) 21:55:54.36 ID:to+QgKiM0.net
- 初心者ならコンソールアプリケーションでゲームの中身だけ作ってGUI(Form)つけるのおすすめ
- 268 :名無しさん@お腹いっぱい。:2012/05/30(水) 22:15:53.58 ID:5ZOuXXtf0.net
- Formでいいんじゃね
ゲーム作りたいならUnityとかゲームエンジンとか使った方がいいと思うが、自力で数当てゲームくらい作れた方がいいかもね
- 269 :名無しさん@お腹いっぱい。:2012/05/30(水) 22:49:56.75 ID:zW0msQ/R0.net
- >>265
これを見れば作れる
http://www.nicovideo.jp/watch/sm13022762
- 270 :名無しさん@お腹いっぱい。:2012/05/31(木) 02:21:11.40 ID:rXSZyiw00.net
- >>264
レスどうもありがとうございます、とりあえずもう少し試行錯誤してみますね!
- 271 :名無しさん@お腹いっぱい。:2012/05/31(木) 09:25:01.60 ID:WULY2UZX0.net
- てst
- 272 :名無しさん@お腹いっぱい。:2012/05/31(木) 15:01:27.70 ID:VYK3XZ290.net
- なんで難しい質問ばっかなのこっちは
- 273 :名無しさん@お腹いっぱい。:2012/05/31(木) 15:17:39.08 ID:jGAKMQam0.net
- 本スレだからな
- 274 :名無しさん@お腹いっぱい。:2012/05/31(木) 15:52:12.18 ID:unpCDp6t0.net
- 難しいというか、シチュエーションが限定的な質問が来るね。
まああっちで聞いても、本筋と関係ないところで喧嘩おっぱじまるからだろう。
- 275 :名無しさん@お腹いっぱい。:2012/06/01(金) 00:01:35.63 ID:p1bYUXat0.net
- IDは偉大、変な自演がないだけでも捗るな
- 276 :名無しさん@お腹いっぱい。:2012/06/01(金) 18:51:36.27 ID:tSECQl9H0.net
- シチュエーションが限定的なのはしょうがないんじゃないかな
普遍的な問題は大抵ググればなんとかなるだろうし
>>216の質問をしたのは俺だけど
ググっても同じ問題にはまっている人が見つからないのは本当に困る・・・
- 277 :名無しさん@お腹いっぱい。:2012/06/02(土) 08:13:25.59 ID:8F3osLeN0.net
- てst
- 278 :名無しさん@お腹いっぱい。:2012/06/03(日) 23:02:26.26 ID:9cE78MGH0.net
- C#でDirectxを使おうとしたら、遅延通知が出たのですがどうすればいいですか?
- 279 :名無しさん@お腹いっぱい。:2012/06/04(月) 01:15:23.77 ID:dVdSCbBH0.net
- 遅延通知って何?
- 280 :名無しさん@お腹いっぱい。:2012/06/04(月) 06:00:16.63 ID:MKF8PCbd0.net
- この言語のリファレンスマニュアルって糞見づらいMSDNしかないの?
- 281 :名無しさん@お腹いっぱい。:2012/06/04(月) 08:46:10.03 ID:SO+LzFoe0.net
- さらに見づらい上に古いPDFであればありますよ
あなたがC#のリファレンスと.NETのリファレンスを混同していないことが前提ですが…
- 282 :名無しさん@お腹いっぱい。:2012/06/04(月) 11:06:38.28 ID:tdHet/L00.net
- てst
- 283 :名無しさん@お腹いっぱい。:2012/06/04(月) 15:07:32.53 ID:eBbL6cVl0.net
- MSDNから必要な情報を見つけ出して、珍妙な自動翻訳に動じず英語版見に行くようになったら一人前。
- 284 :名無しさん@お腹いっぱい。:2012/06/04(月) 20:30:54.41 ID:amclDH490.net
- .netの翻訳は人間がやってるらしいぞ
- 285 :名無しさん@お腹いっぱい。:2012/06/05(火) 23:42:14.54 ID:0HX/yiCx0.net
- デリゲートがよく分からないのでJavaScriptで例えて説明してください
- 286 :名無しさん@お腹いっぱい。:2012/06/06(水) 00:07:44.80 ID:E/iZIMwt0.net
- 関数オブジェクトのようなもの
- 287 :名無しさん@お腹いっぱい。:2012/06/06(水) 02:20:14.29 ID:8bMay9C00.net
- >>285
http://jaba.johnson.co.jp/
- 288 :名無しさん@お腹いっぱい。:2012/06/06(水) 02:26:05.25 ID:E/iZIMwt0.net
- >>287
それはJavaだ。
JavaScriptと一緒にすんなw
- 289 :名無しさん@お腹いっぱい。:2012/06/06(水) 06:44:05.39 ID:Wke9K+FZ0.net
- >>287
×Java
○Jaba
JavaScriptは使ってるようだが
- 290 :名無しさん@お腹いっぱい。:2012/06/06(水) 11:43:22.64 ID:T2vSLGVJ0.net
- てst
- 291 :名無しさん@お腹いっぱい。:2012/06/08(金) 00:17:06.02 ID:SjP/JzaM0.net
- てnd
- 292 :名無しさん@お腹いっぱい。:2012/06/08(金) 21:26:45.75 ID:H4JMKmsI0.net
- カスタムコントロールの中のComboBox(Bとする)の.Itemsに他のクラスからアクセスしたいと思っています
当該Itemsに別データの配列を突っ込みたいので、カスタムコントロールのプロパティにしようかと思ったら、setの記載で読み取り専用だからできねーよカスと怒られます
なにかよい方法はないでしょうか?
public ComboBox.ObjectCollection B_.Items
{
set
{
B..Items = value;
}
get
{
return B..Items;
}
}
- 293 :名無しさん@お腹いっぱい。:2012/06/08(金) 21:33:08.47 ID:KTgDzfcK0.net
- >>292
ComboBox.DataSourceプロパティ
- 294 :名無しさん@お腹いっぱい。:2012/06/08(金) 22:43:38.32 ID:H4JMKmsI0.net
- 下記で期待する動きになりました
ありがとうございました
getもDataSourceにせんでいいのかな?と迷いましたが、デザイナー上の入力を考えるとこっちの方がベターぽいのでこれで行きます
public object B_.Items
{
set
{
B.DataSource = value;
}
get
{
return B.Items;
}
}
- 295 :名無しさん@お腹いっぱい。:2012/06/08(金) 23:36:24.17 ID:1FPwfIgl0.net
- てst
- 296 :名無しさん@お腹いっぱい。:2012/06/09(土) 22:24:13.82 ID:/l9t5PUy0.net
- Visual Studio Express 2012 for Windows Desktop
http://blogs.msdn.com/b/visualstudio/archive/2012/06/08/visual-studio-express-2012-for-windows-desktop.aspx
- 297 :名無しさん@お腹いっぱい。:2012/06/09(土) 22:39:56.78 ID:km1yHHW40.net
- そりゃまあ、普通に考えたら出ないとおかしいよね
- 298 :名無しさん@お腹いっぱい。:2012/06/09(土) 22:41:49.99 ID:/l9t5PUy0.net
- だってVC++あるしなあ
- 299 :名無しさん@お腹いっぱい。:2012/06/09(土) 23:50:34.37 ID:8fI3WDv10.net
- Formは入ってるの?
- 300 :名無しさん@お腹いっぱい。:2012/06/10(日) 13:44:32.26 ID:JcRdqHi90.net
- C#どころかプログラミング始めたての初心者で申し訳ないのですが質問させてください。
if (A != B)
{
return;
}
do();
と
if (A == B)
{
do();
}
では同じ処理になると思うのですが、どちらを用いるのが一般的なんでしょうか
- 301 :名無しさん@お腹いっぱい。:2012/06/10(日) 13:56:41.08 ID:+ns6eJGu0.net
- 前者はガード句と呼ばれる書き方で、主にifのネストが深くなった時に使う
ifが1段しかないのなら後者
- 302 :名無しさん@お腹いっぱい。:2012/06/10(日) 13:58:07.44 ID:t7lhSWC+0.net
- しっくり来る方でいいでしょ
- 303 :名無しさん@お腹いっぱい。:2012/06/10(日) 14:04:31.24 ID:+ns6eJGu0.net
- しっくりこないんですぅ
- 304 :名無しさん@お腹いっぱい。:2012/06/10(日) 14:36:26.02 ID:JcRdqHi90.net
- >>301
>>302
レスありがとうございました。参考にさせてもらいます
- 305 :名無しさん@お腹いっぱい。:2012/06/10(日) 14:41:36.15 ID:JcRdqHi90.net
- 重ねて質問すみません
txtBox1.Clear();
txtBox2.Clear();
txtBox3.Clear();
これを繰り返し構造でスマートに書きたいのですが、変数等を用いれば可能でしょうか
- 306 :名無しさん@お腹いっぱい。:2012/06/10(日) 14:43:50.00 ID:t7lhSWC+0.net
- var array = new[]{ tb1, tb2, tb3 };
foreach(var tb in array){ tb.Clear(); }
とかかな
- 307 :名無しさん@お腹いっぱい。:2012/06/10(日) 14:45:11.20 ID:+ns6eJGu0.net
- FormコンストラクタのInitializeComponent()の後ろで配列にでも入れておけ
foreachで繰り返せる
- 308 :名無しさん@お腹いっぱい。:2012/06/10(日) 14:59:08.22 ID:JcRdqHi90.net
- なるほど!同じ型の配列に入れておけば良かったんですね
ありがとうございます
- 309 :名無しさん@お腹いっぱい。:2012/06/10(日) 21:05:08.87 ID:RMEDkwv20.net
- 製品版のVisualStudioってメンバー変数のプリフィックスに_とかつけられます?
- 310 :名無しさん@お腹いっぱい。:2012/06/10(日) 21:45:47.86 ID:+ns6eJGu0.net
- むしろなぜ付けられないと思うの?
- 311 :名無しさん@お腹いっぱい。:2012/06/10(日) 22:10:12.18 ID:RMEDkwv20.net
- Expressでできないからですね
Formのコントロール変数に自動で_をつけてくれたら便利だと思いまして
- 312 :名無しさん@お腹いっぱい。:2012/06/10(日) 22:15:58.50 ID:+ns6eJGu0.net
- 全然意味合いが違うじゃねえか
質問を略すな
Pro版でもできません
- 313 :名無しさん@お腹いっぱい。:2012/06/10(日) 22:19:28.22 ID:MHePrPj+0.net
- 自動でってところがミソか
- 314 :名無しさん@お腹いっぱい。:2012/06/10(日) 23:40:57.57 ID:RMEDkwv20.net
- ありがとうございます。やっぱり無理でしたか・・・
- 315 :名無しさん@お腹いっぱい。:2012/06/14(木) 07:03:26.20 ID:98NsRCek0.net
- Formを継承したクラスがいくつかIDisposableなオブジェクトを持っていて、それらをDisposeしなければいけない場合
どこに書いたらいいんでしょうか。
Form1.Designer.csの方にFormのオーバーライドされたDisposeメソッドがありますが、
そこに追加しちゃってもいいのでしょうか。(デザイナの方に影響与えたりしません?)
それともDisposedイベントでやるべきなんでしょうか。
- 316 :名無しさん@お腹いっぱい。:2012/06/14(木) 07:36:22.23 ID:A0uxVl2o0.net
- 1. そもそもインスタンススコープで扱うべきか考える
実はメソッド単位で扱えるものなんじゃないの?という回帰。
2. コンポーネント化することもちと考える。
Formと同じ寿命のDisposableなオブジェクトがあるってことは、
Formにロジックを詰め込みすぎてないか?
ロジックを然るべきレイヤに分けて、コンポーネント化しちゃえばいんじゃね?という発想。
3. Disposeしたいというのなら
.Designer.csのオーバーライドされたDisposeメソッドに書いちゃって大丈夫。
- 317 :名無しさん@お腹いっぱい。:2012/06/14(木) 08:37:45.34 ID:SlYrQktU0.net
- 前から思ってたけどcomponentsフィールドっていつ使われるんだろ
あれに追加されたらFormが破棄されるとき一緒にDisposeしてくれるよね
- 318 :名無しさん@お腹いっぱい。:2012/06/14(木) 09:19:19.33 ID:98NsRCek0.net
- >>316
ども
3でいかさせて頂きます
たとえばフォントオブジェクトをフォーム上のボタン等に個別に適用した場合
明示的にDisposeさせるよい方法がないので困っていました
フォーム閉じて参照が切れればいつかGCされるさ、とか
アプリケーションが終了した時点で解放されるからいいやん、とか
それだけでなんともならないシナリオもあるのに、と……
- 319 :名無しさん@お腹いっぱい。:2012/06/14(木) 10:01:27.49 ID:oUOmZZHy0.net
- 初心者なのでこちらで質問させてもらいます。
Aというクラスを継承してBというクラスを作成したのですが、Aの中の一部のフィールドやメソッドを継承したくない場合、Bの中でどうのような記述をすれば簡単に実現できるでしょうか?
目的は単にBのインテリセンスにそのメソッドなりを表示させたくないだけなのですが。
よろしくお願いします。
- 320 :名無しさん@お腹いっぱい。:2012/06/14(木) 10:07:06.46 ID:SlYrQktU0.net
- >>319
Aの該当メンバーをprivate指定する
Bのほうから継承しないという指定はできない
C++ならできるけど煩雑すぎてC#には採用されなかった
- 321 :名無しさん@お腹いっぱい。:2012/06/14(木) 10:10:46.97 ID:WOJH/6WO0.net
- private new ベースクラスのメソッド名(引数も合わせる ...){}
これで一応できるけどキャストしたらベースクラスのは呼び出せるわね
- 322 :名無しさん@お腹いっぱい。:2012/06/14(木) 10:48:44.80 ID:SlYrQktU0.net
- newの使い道がよくわからないんだけど、virtual指定されてないメソッドをオーラーライドしたいときでいいの?
- 323 :名無しさん@お腹いっぱい。:2012/06/14(木) 11:08:28.11 ID:WOJH/6WO0.net
- オーバーライドするとベースクラスにキャストした時もオーバーライドしたメソッドが呼び出せる
つまりベースクラスのメソッドを上書きできる
newの場合はベースクラスにキャストするとベースクラスのメソッドが呼び出される
上書きしたわけじゃなくて同じ名前のメソッドが定義されたので
前のが呼びだせなくなったという感じ
- 324 :名無しさん@お腹いっぱい。:2012/06/14(木) 12:25:35.45 ID:+pekMVIj0.net
- abstract オーバーライドしろ
virtual オーバーライドしてもいいよ
未指定 できなくは無いがnew付けろよ。
- 325 :名無しさん@お腹いっぱい。:2012/06/14(木) 13:20:39.57 ID:SlYrQktU0.net
- >>323,324
ありがとう。つまりポリモーフィズムとはまったく関係ない機能なのか
どんな用途で使うんだろ・・・
- 326 :名無しさん@お腹いっぱい。:2012/06/20(水) 23:24:01.56 ID:W/4WFKKT0.net
- >>325
一番は、後から基底クラスに派生クラスのメンバと被るメンバが追加されたときに
意図せずオーバーライドしてしまうのを防ぐため
その意味では別にnewは無くてoverrideだけでいいんだが、overrideの付け忘れなのか
わざとやってるのか区別するためなんだろう
- 327 :名無しさん@お腹いっぱい。:2012/06/21(木) 12:27:26.65 ID:K9S0VvT90.net
- visual c#で、ボタンを押すとテキストボックスに入力した英文(長文)をもう一つのテキストボックスに文を並べ替えた状態で出力するアプリを作ろうとしています。
文を並べかえるというのは、単語の並べ替えではなく、複数の文の1文1文を1つと見て、それらの文を並べ替えるという意味です。
考えているアルゴリズムとしては、入力文を初めから一文字ずつ読み取っていき、ピリオドが出た瞬間に初めからその部分の文字列を 文字列1 に代入。
続いてその次の位置からまた一文字ずつ読み取っていき、ピリオドが出た瞬間に、その部分を 文字列2 に代入・・・と繰り返し、最終的にn個の文字列をランダムに並べ替えたものを出力する、というふうに考えています。
C#で作る場合このような流れで作るのがよろしいでしょうか?その場合どのような文字列操作関数を使用していけばいいのでしょうか。
また、他により効率的な方法があればご教示お願いします。
- 328 :名無しさん@お腹いっぱい。:2012/06/21(木) 12:36:01.13 ID:tG9UJEis0.net
- ピリオドでスプリットすれば一発
- 329 :名無しさん@お腹いっぱい。:2012/06/21(木) 12:45:20.29 ID:K9S0VvT90.net
- >>328
なるほど、splitメソッドというのを使えばいいのですね。
この場合、Mr.などの単語が1つだけの文が生成されないようにするには
具体的にどう条件を追加すればよろしいでしょうか?
(Mr. Tanaka is Japanese. を1つとしたい場合等)
- 330 :名無しさん@お腹いっぱい。:2012/06/21(木) 12:50:03.71 ID:tG9UJEis0.net
- Mr.の場合はjoinすればいい
- 331 :名無しさん@お腹いっぱい。:2012/06/21(木) 13:30:59.90 ID:XTsjM3La0.net
- var sentences = text.Split(".");
var list = new List<StringBuilder>();
list.Add(new StringBuilder());
foreach(var sentence in sentences)
{
list.Last().Append(sentence + ".");
if(IsOneWord(sentence) == false){ list.Add(new StringBuilder()); }
}
return Sort(list);
こんなかんじ?
- 332 :名無しさん@お腹いっぱい。:2012/06/21(木) 13:39:41.01 ID:K9S0VvT90.net
- >>330-331
ありがとうございました
参考にして作ってみます!
- 333 :名無しさん@お腹いっぱい。:2012/06/21(木) 13:46:05.56 ID:mk4m3Qvr0.net
- WPFでListboxを2つ配置して、ItemsSourceを同一のコレクションに設定した時の挙動についてなんですが
コードでこのようにしたとき
public partial class MainWindow : Window
{
ObservableCollection<Object> obj
= new ObservableCollection<Object>();
public MainWindow()
{ InitializeComponent();
for (int i = 0; i < 50; i++)
{ obj.Add(CreateRectangle());
obj.Add(i.ToString()+"s String");
}
listBox1.ItemsSource = obj;
listBox2.ItemsSource = obj;
}
Rectangle CreateRectangle()
{ Rectangle r = new Rectangle();
r.Width = 20;r.Height = 20;r.Stroke = Brushes.Black;
return r;
}
}
片方のListboxに表示されているRectangleはもう片方のListboxの表示からは取り除かれてしまいます
stringについては両方同時に表示されますし、片方のDisplaymenberPathをNameなりHeightなりに設定した場合も同時に表示されます
このWPFの図形の表示の仕組みについて解説お願いします
- 334 :名無しさん@お腹いっぱい。:2012/06/21(木) 13:53:56.22 ID:/1f0rY470.net
- UIElementがデータソースになった場合、
それは直接ItemsControlの子孫要素になる
UIElementは一つの親にしか属せない
普通はRectangleはDataTemplateにして
ItemsSourceにバインドするのはその構成要素だけ持つクラスにする
- 335 :名無しさん@お腹いっぱい。:2012/06/21(木) 19:56:05.31 ID:C/I3uX5s0.net
- XmlSerializerを使ってデータを一時的に保存したいと思っています.
今作っているクラスはUserとEventListとEventの三つになり,こんな感じに他にデータも含みます.
User
-string name
-EventList
--Event
---int x,yなど
保存したいのはUserクラスで,List<Event>を含んでいたので,
http://handcraft.blogsite.org/ComponentGeek/ShowArticle/60.aspx
を参考に,IXmlSerializableを実装してリストを保存するだけのクラスEventListを作りました.
そしてEventやEventList単体のシリアライズ化には成功しました.
ですがUserクラスのシリアライズが上手く行きません…
Userクラスはこうなっています
public class User {
public EventList event_list;
public string name;
public User() { }
}
- 336 :335 :2012/06/21(木) 19:57:19.59 ID:C/I3uX5s0.net
-
シリアライズのコードはこうなっています.
XmlSerializer serializer = new XmlSerializer(typeof(User));
using (FileStream fs = new FileStream(@"C:\test.xml", FileMode.Create)) {
serializer.Serialize(fs, user);}
実行すると
$exception {"There was an error reflecting type 'mtest.User'."} System.Exception {System.InvalidOperationException}
というエラーがXmlSerializer作成時に出ます.
event_listをコメントアウトすると上手く行くのですが,クラスの中に自作クラスを持つ場合は別の処理方法があるのでしょうか?
よろしければ解決方法などを教えて頂けると幸いです.
- 337 :名無しさん@お腹いっぱい。:2012/06/21(木) 22:40:14.42 ID:XTsjM3La0.net
- >>336
別に普通にやればいいだけなはずだけどなあ
Listも変なことしなくてもそのままSerialize出来ると思うけど
publicなゲッターセッターと引数なしのコンストラクタを持っていること
コレクションの場合はAdd(T item)を持っていること といった感じだったと思う
- 338 :名無しさん@お腹いっぱい。:2012/06/22(金) 00:18:49.52 ID:D9lptrmf0.net
- 駄目なのはList<T>[]であってList<T>じゃないよ?
- 339 :335 :2012/06/22(金) 22:10:59.58 ID:bY8JRY9Z0.net
- >>337 >>338
おうふ…勘違いしてました,Listのシリアライズは問題無いのですね.
いまやったところ単体で普通にできました.
またUserごとシリアライズしようとしたときのエラーですが,そちらも解決しました.
行数が多すぎて怒られた&そんなに関係ないだろうと思って消していたのですが実際はXmlAttributeをつけていて
Userクラスはこうなっています
public class User {
[XmlAttribute("user_event_list")]
public List<Event> event_list;
[XmlAttribute("name")]
public string name;
public User() { }
}
これでエラーが出たのでEventListクラスを作ったのですが,どうやら問題はXmlAttributeにあったらしく,
event_listの直前のものを消したら問題無く動きました.
皆さんどうもありがとうございます,とても助かりました.
- 340 :333:2012/06/22(金) 22:51:30.84 ID:VRm8BDOa0.net
- >>334
解説ありがとうございます
表示されない理由はばっちり腑に落ちました
> 普通はRectangleはDataTemplateにして
> ItemsSourceにバインドするのはその構成要素だけ持つクラスにする
よければ、ここについてもう少し教えてください
いま、Rectangle型のmyShape をメンバにもつクラス c1 を設定し、これのコレクションをListboxのソースとしたとき
<DataTemplate x:Key="myTemplate">
<StackPanel>
<Rectangle Height="{Binding Path=myShape.Height}" Width="{Binding Path=myShape.Width}" Stroke="{Binding Path=myShape.Stroke}"/>
</StackPanel>
</DataTemplate>
とし、Listboxのテンプレートとして適用すれば、全ての項で長方形は同時に表示することができました
ここでmyShapeの型をRectangleと限定せず、flameworkElementなどにして、
c1のインスタンスにはEllipceやその他のShapeを自由に入れられるようにし、それらを表示することは可能でしょうか
- 341 :名無しさん@お腹いっぱい。:2012/06/23(土) 16:57:23.81 ID:4W1+go0K0.net
- int型配列a(要素数100)から等確率でランダムに10個の要素を選んで選んだ順に
配列b(要素数10)に代入するというプログラムを作りたいのですが、
自分が考えたのはひたすら100個のなかから1個ずつランダムで選んでいき、
前選んだ要素とかぶった場合はやり直し(棄却) という感じで作ったのですが、
選んでいくにつれて棄却する回数が多くなってしまい、時間がかかってしまいます。
この場合どのようなアルゴリズムで作るのが効率がいいのでしょうか?
- 342 :名無しさん@お腹いっぱい。:2012/06/23(土) 16:59:23.81 ID:VvicIvbe0.net
- 配列からランダムに一個選ぶ
選んだのを末尾のと交換する
個数を一個減らしてランダムに選ぶ・・・
- 343 :名無しさん@お腹いっぱい。:2012/06/23(土) 16:59:57.81 ID:F1v3/Dpc0.net
- 配列じゃなくて動的配列(List)を使えば、使用した要素を捨てられる
どうしても配列でやりたいなら被ったら上か下を選ぶって処理を入れる
- 344 :名無しさん@お腹いっぱい。:2012/06/23(土) 17:37:18.45 ID:8zHjbdI20.net
- いわゆる重複しない乱数と同じ考え方だからググれば腐るほどでてくる
- 345 :名無しさん@お腹いっぱい。:2012/06/24(日) 15:54:12.67 ID:5cM7Ezza0.net
- 配列内の要素をシャッフルして先頭から10要素取り出せば?
- 346 :名無しさん@お腹いっぱい。:2012/06/25(月) 01:06:49.19 ID:2vZfjApk0.net
- >>345
それだとM個からN個を取り出すときO(M)になるから非効率
- 347 :名無しさん@お腹いっぱい。:2012/06/25(月) 01:49:47.37 ID:QcDMISKM0.net
- >>346
そうか。
要素数100程度みたいだからそんなんでいいかな、と勝手に思ったんだ。
そこまで考えてなかったよ。
- 348 :名無しさん@お腹いっぱい。:2012/06/26(火) 09:46:52.99 ID:/TbFwKc10.net
- >>340
データソース側にUIElementは使うもんじゃないってば
DataTemplateのTargetTypeでデータソースの型によって適用するDataTemplate切り替えたりする
<ListBox ItemsSource="{Binding ...}">
<ListBox.Resources>
<DataTemplate DataType="{x:Type my:RectanglePattern}">
<Rectangle Width="{Binding ...}" Height="{Binding ...}" Stroke="{Binding ...}"/>
</DataTemplate>
<DataTemplate DataType="{x:Type my:EllipsePattern}">
<Ellipse Width="{Binding ...}" Height="{Binding ...}" Stroke="{Binding ...}"/>
</DataTemplate>
</ListBox.Resources>
</ListBox>
あるいはデータソースをGeometry(を持ったクラス)にしちゃって
DataTemplateはImage/DrawingImage/GeometryDrawingでやるとか
- 349 :名無しさん@お腹いっぱい。:2012/06/26(火) 16:08:21.13 ID:yCJdNuh10.net
- XAMLグロいなー
誰が考えたんだコレ
- 350 :名無しさん@お腹いっぱい。:2012/06/26(火) 18:21:10.14 ID:q2NBJkUf0.net
- XML自体人が読み書きすることは重視してないからねー
構造的であることは人間にも利点があるが
人間にとってはせいぜい段組がしてあれば十分だ
こんなガチガチな仕様にしたのはコンピューターに合わせたからで
そのフォーマットの拡張系なんだから、よりコンピューターしか理解できないようになっていくのは当然だな
俺の好きなフレームワークにも
…and one more thing: Making humans edit XML is sadistic!
と書いてある
- 351 :名無しさん@お腹いっぱい。:2012/06/26(火) 19:17:05.04 ID:00qqaFC30.net
- デリゲートって、クロージャみたいに親のメソッドで扱われる変数を保持できるけど、
public void Hoge(object obj)
{
var act = new Action<obj>((o) => Fuga(o));
this.actionList.Add(act);
}
これみたいに、Actionをフィールドのリストに入れてずっと保持する場合だと、
objの参照元はずっとGCされないまま(メモリリーク)になるの?
これなら実行タイミングを好きにずらせるから便利だなーと思ったけど、
objの参照をずっと掴んでるなら微妙だな。
- 352 :名無しさん@お腹いっぱい。:2012/06/26(火) 19:21:22.63 ID:q2NBJkUf0.net
- そう
便利だけどよく分からずに手を出すのはお薦めできない
- 353 :名無しさん@お腹いっぱい。:2012/06/26(火) 19:21:49.11 ID:/TbFwKc10.net
- そりゃListに保持するってことはいつか使うって宣言も同然なんだから
いつの間にか黙って消えてたら困るだろ
それをリークというのはおかしい
- 354 :名無しさん@お腹いっぱい。:2012/06/26(火) 19:27:48.27 ID:yCJdNuh10.net
- ラムダの中でobj使ってないから参照もされないでしょう
Action<obj>っていうのもコンパイルエラーじゃないの
- 355 :名無しさん@お腹いっぱい。:2012/06/27(水) 01:25:25.97 ID:CEBjiC+M0.net
- objを使いたい場合
var act = new Action(() => Fuga(obj));
引数をとりたい場合
var act = new Action<object>(o => Fuga(o));
引数をとりながらも無視してobjを使いたい場合
var act = new Action<object>(o => Fuga(obj));
- 356 :名無しさん@お腹いっぱい。:2012/06/27(水) 14:23:59.88 ID:ea0YHqGT0.net
- パワポの左側のスライド一覧や、デスクトップ上でのアイコンの並び替えみたいに、
画像オブジェクトをD&Dによって移動・挿入可能なUIを作りたいと思っています。
ListViewに画像を表示させればかなり近いことが出来るのですが、
動画編集ソフトのタイムラインのように横方向に並べたいと思っています。
わりとよくあるUIだと思うのですが、既にコンポーネントとして利用できるようなものはありませんでしょうか?
- 357 :名無しさん@お腹いっぱい。:2012/06/27(水) 19:44:31.88 ID:VN8+g37h0.net
- ListViewのAutoArrange切って自前で配置すれば行けるような気もするけどどうだろ。
- 358 :名無しさん@お腹いっぱい。:2012/06/27(水) 20:06:12.30 ID:j1UJcMae0.net
- WPFなら既存のコンポーネントを使うまでもなく一瞬でできる
- 359 :名無しさん@お腹いっぱい。:2012/06/28(木) 03:36:32.96 ID:Tqgyy0T20.net
- どうやんのそれ
- 360 :名無しさん@お腹いっぱい。:2012/06/28(木) 10:27:09.98 ID:+mVAWSDX0.net
- >>359
http://ideone.com/zKXvF
カレントディレクトリの画像の水平リスト表示
- 361 :名無しさん@お腹いっぱい。:2012/06/29(金) 16:26:48.34 ID:XSFFZlBa0.net
- >>360
ほう
随分シンプルになるね
- 362 :名無しさん@お腹いっぱい。:2012/06/29(金) 17:16:06.56 ID:RwTE6+Al0.net
- ttp://msdn.microsoft.com/ja-jp/library/ms734785(v=vs.90)
上のページで説明されている、
「If ステートメントの true 分岐部で、結果の TextBox コントロールから Invoke メソッドを呼び出します。その際、WorkflowCompletedEventArgs 型の新しいジェネリック EventHandler、workflowRuntime.WorkflowCompleted を渡します。
イベント ハンドラへのパラメータとして、sender および e ローカル変数を渡します。」
という部分では実際にどのようなコードを書けば良いのかわかりません。
どなたか教えて頂けないでしょうか。よろしくお願いします。
- 363 :名無しさん@お腹いっぱい。:2012/06/29(金) 17:47:20.97 ID:WHdThZGy0.net
- WFってAsyncがあれば不要じゃね
- 364 :名無しさん@お腹いっぱい。:2012/06/29(金) 17:50:26.45 ID:RwTE6+Al0.net
- >>363
会社で上からやれって言われまして。。
今までJavaだったもので、チュートリアルですら何言ってるのかわからない有様です。
- 365 :名無しさん@お腹いっぱい。:2012/06/29(金) 17:53:18.26 ID:WHdThZGy0.net
- それでなんでいきなりWFなんだw
Javaが使えるならC#の文法は使いながら慣れればいいから、本屋でVisual C#の入門書を買ってこい
- 366 :名無しさん@お腹いっぱい。:2012/06/29(金) 17:55:55.36 ID:RwTE6+Al0.net
- >>365
シェアポイントとWF使って業務系のアプリ作るんだそうです。
C#やってる人に聞いてみたのですが、>>362の内容分からないって言うんですよね。。
- 367 :名無しさん@お腹いっぱい。:2012/06/29(金) 18:05:07.13 ID:WHdThZGy0.net
- どういうことか知らんが英語版に切り替えたらその部分のコードが表示されたぞ
- 368 :名無しさん@お腹いっぱい。:2012/06/29(金) 18:12:02.03 ID:RwTE6+Al0.net
- >>367
ありがとうございます!!英語版に切り替えるというTipsを頂きました。
- 369 :名無しさん@お腹いっぱい。:2012/06/30(土) 00:26:26.46 ID:mUaSV7pq0.net
- Control..::..ControlCollection Controls
の
..::..
ってどういう意味ですかね?
- 370 :名無しさん@お腹いっぱい。:2012/06/30(土) 01:04:34.73 ID:/TAxHS/T0.net
- 内部クラスだとMSDNではなぜかそうなってるがC#でそう書けるわけではない
内部クラスを区別したいときは Control+ControlCollection のように
ドットの代わりにプラスで区切る方が普通だと思う
- 371 :356:2012/06/30(土) 16:06:24.27 ID:TtGpnjWE0.net
- >>357 >>360
返事が遅れてすみません.
後者のListBoxを使ったやり方で結構いい感じに出来ました!
後はD&Dを実装してみることにします.
どうもありがとうございました!
- 372 :名無しさん@お腹いっぱい。:2012/06/30(土) 16:51:28.38 ID:bOu8zaDv0.net
- 昨日、MOBについて確認をしていて、以下の通りだと考えました
もし間違っている点があったら指摘していただけませんか?
@StreamWriter(Name, false, Encoding.xxx)、AEncoding.xxx.GetBytes()、BEncoding.xxx.GetString()
と共通の「Encoding.xxx」があったとして、UTF8などBOMが付く可能性があるEncodingの扱いは
A.「Encoding.xxx」が「UTF8Encoding」の場合、@BOMあり、ABOMなし、BBOMなし
B.「Encoding.xxx」が「UTF8Encoding(true)」の場合、@BOMあり、ABOMなし、BBOMなし
C.「Encoding.xxx」が「UTF8Encoding(false)」の場合、@BOMなし、ABOMなし、BBOMなし
となり、@はBOMの有無を選択できるが、A、Bは常にBOMが付与されない
てっきりEncoding.xxx.GetString()は選択できるものかと思っていたら、違ってました
- 373 :名無しさん@お腹いっぱい。:2012/06/30(土) 17:13:44.19 ID:bOu8zaDv0.net
- × 昨日、MOBについて確認をしていて、以下の通りだと考えました
○ 昨日、BOMについて確認をしていて、以下の通りだと考えました
- 374 :名無しさん@お腹いっぱい。:2012/06/30(土) 21:29:25.30 ID:T5RC3JM20.net
- 確認したなら合ってるんじゃないの
- 375 :名無しさん@お腹いっぱい。:2012/07/03(火) 02:33:11.58 ID:QUnrlhAEP.net
- BOM自体UTF16用のコンテナフォーマットで、プレーンテキストだとは思えない。
だからファイル保存に用いるWriterだけがそれを意識するで違和感は無いけどね。
>てっきりEncoding.xxx.GetString()は〜〜
GetStringで返却されるものは文字列オブジェクトだよ。
しかもその内部形式はUTF16LEを元にしているはず。
ちなみにUTF8だと基本BOM不要。
- 376 :356:2012/07/04(水) 17:05:03.96 ID:lYNmBOff0.net
- WPFでListBoxを作るときに,ItemsPanelTemplateにStackPanelを指定することで横方向に要素を並べることはできました.
ですが今やっている方法だとXAMLで指定した数しか使えないため,例えばボタンを押すとListBoxが増えていくといったことができません.
この場合どのようにやれば良いのでしょうか?
ListBoxと横方向のStackPanelを作ることはできたのですが,コード上でどのようにこの2つを関連づければいいのかがどうしてもわからなくて…
- 377 :名無しさん@お腹いっぱい。:2012/07/04(水) 17:07:01.83 ID:gyGKV+Vm0.net
- 動的に増えるものはコードで書くしかないんじゃないのかな?
- 378 :356:2012/07/04(水) 17:10:11.74 ID:lYNmBOff0.net
- >>377
はい,なので今はボタンを押したらコードが動いて横方向のListBoxを作る,といった事をやろうとしています.
ですがXAMLで横方向のListBoxを作る方法しか知らず,コードでどのように作ればいいのかがよく解りません…
XAMLだと
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" Height="{Binding PhotoListBox.Height}" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
でいけるのですが…
- 379 :名無しさん@お腹いっぱい。:2012/07/04(水) 17:24:57.33 ID:gyGKV+Vm0.net
- XAML
http://ideone.com/T6pIf
cs
http://ideone.com/fwfcg
- 380 :356:2012/07/04(水) 18:05:35.20 ID:lYNmBOff0.net
- >>379
ありがとうございます,追加の方法はわかりました.
ただ,今 >>360 さんの http://ideone.com/zKXvF のように,画像を横方向に並べたいと思っています.
ですがListBoxは初期状態では縦方向に追加されていってしまうので,
コード上で作ったListBoxも横方向に並べることはできたりしませんでしょうか?
- 381 :名無しさん@お腹いっぱい。:2012/07/04(水) 18:09:14.74 ID:gyGKV+Vm0.net
- >>380
できるよ
WPFの場合カスタムクラス作り放題でそういう細かいところの情報がよくわからないので
いれられなかっただけなんだけどね
テンプレート作っておけばインスタンス作って所定の親の配下に入れる前に適応すれば
同じような物が作れるよ
- 382 :356:2012/07/04(水) 19:08:38.79 ID:lYNmBOff0.net
- >>381
なるほど…とりあえず不可能ではないのですね.
テンプレートについてよく解ってないので,その辺を中心に勉強してみます.
どうもありがとうございました.
- 383 :名無しさん@お腹いっぱい。:2012/07/04(水) 19:10:32.28 ID:gyGKV+Vm0.net
- >>382
まずは>>380を参考にしてるのならテンプレートとかを分離して
リソース化することだね
最近触ってないのでうまくまとめて上げられないけど
- 384 :名無しさん@お腹いっぱい。:2012/07/05(木) 10:34:39.47 ID:tOoFlwMl0.net
- カスタムコントロールを作った方が簡単だと思うよ
>>360のルート要素と基底クラスをUserControlに変更するだけ
- 385 :356:2012/07/05(木) 16:43:11.64 ID:Ss1RhDP50.net
- >>383
ありがとうございます!
リソース化する,という方法があることを知って思い通りになりました!
<Window.Resources>
<ItemsPanelTemplate x:Key="HorizontalPanel">
<StackPanel Orientation="Horizontal" Height="{Binding PhotoListBox.Height}" />
</ItemsPanelTemplate>
</Window.Resources>
ListBox lb = new ListBox();
lb.ItemsPanel = (ItemsPanelTemplate)this.Resources["HorizontalPanel"];
>>384
ありがとうございます.
ですがすみません,カスタムコントロールとかは全く知らなかったので活かせませんでした…精進します.
- 386 :名無しさん@お腹いっぱい。:2012/07/08(日) 00:29:36.30 ID:ec05ZSJJ0.net
- Rijndaelmanagedを使って暗号化を試みています
CipherMode列挙体がCBC他の時には問題なく暗号化が出来るのですが、CTSとOFBの時にはエラーになります
エラー「指定された cipher モードは、このアルゴリズムには有効ではありません。」
RijndaelManaged RM = new RijndaelManaged();
として、CTSはRM.Mode指定時に、OFBはRM.CreateEncryptor()生成時にエラーが発生します
モードにこだわりはないのでCBCを使えば良いのですが、調べてみてもRijndaelmanagedでCTS、OFB使えないという事例がなく、何かミスがあるのではないかと気になっています
もし思い当たることがあれば教えて下さい
RijndaelManaged RM = new RijndaelManaged();
//ブロックサイズ
RM.BlockSize = 128;
//キー最大長 ※事前に128、192、256から選択
RM.KeySize = Cipher_Rijndael_Size;
//CBCモード ※事前に各モードから選択
RM.Mode = Cipher_Rijndael_Mode;
//パディングモード
RM.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
//初期化ベクトルの設定と取得(ブロックサイズと同サイズ=128bit)
RM.GenerateIV();
byte[] bytesIV = RM.IV;
//処理済みパスワードをセット
RM.Key = Cipher_Rijndael_Key;
//暗号化オブジェクトの作成
ICryptoTransform encrypt = RM.CreateEncryptor();
- 387 :名無しさん@お腹いっぱい。:2012/07/10(火) 12:07:54.64 ID:vnyv6GV90.net
- WPFで好きなタイミングで画面全体のスクリーンショットを取って保存しようとしています.
やたたいことは普通のC#で書くとこんな感じなんですが,WPFだとScreenやCopyFromScreenが使えません.
string take_screenshot()
{
Rectangle rect = Screen.PrimaryScreen.Bounds;
Bitmap bmp = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb);
using (Graphics g = Graphics.FromImage(bmp))
{
g.CopyFromScreen(rect.X, rect.Y, 0, 0, rect.Size, CopyPixelOperation.SourceCopy);
}
DateTime time = DateTime.Now;
long now = time.ToFileTimeUtc();
string filename = now.ToString() + ".png";
string filepath = screenshot_folder + "\\" + filename;
bmp.Save(filepath, ImageFormat.Png);
return filename;
}
一応SendKeysで取る方法はあったのですが,キーイベントを使わない方法を探しています.
http://www.ipentec.com/document/document.aspx?page=csharp-wpf-screen-capture-sendkey-winform
このページのCopyFromScreenメソッドを用いる方法も,上のコードと同じ理由で動きません.
どなたか他の方法をご存じの方はいらっしゃいませんでしょうか?
- 388 :名無しさん@お腹いっぱい。:2012/07/10(火) 12:23:52.79 ID:y0AM8kSz0.net
- System.Windows.Forms.dllとSystem.Drawing.dllを参照すれば
WinFormのときのコードでいけるよ
- 389 :名無しさん@お腹いっぱい。:2012/07/10(火) 17:05:29.33 ID:WdTj8ymG0.net
- WPFのウィンドウ内のスクリーンショットを撮るのであればRenderTargetBitmapでできるけど
画面全体はWPF全然関係ないな
そもそもそんなもんWPF使って作る必要あるのかと
- 390 :387:2012/07/11(水) 11:06:59.65 ID:bXFj3Hio0.net
- >>388
動きました、ありがとうございます!
>>389
元々WPFで作っていて、そこに全体をキャプチャする機能をつけようとして詰まっていました。
私の説明がはしょりすぎでしたね、すみませんでした。
- 391 :名無しさん@お腹いっぱい。:2012/07/20(金) 14:57:37.20 ID:+FWU6vnR0.net
- ウィンドウ上のボタンを押すと,
ウィンドウが消える→処理実行→ウィンドウが元に戻る
といった動作をしたいと思っています.
そこでこのようなコードを書いてみたのですが,それぞれ独立に動かすと上手くいきますが,
上記のように一連の流れにすると上手くいきません.
public void window_visible()
{
Visibility = System.Windows.Visibility.Visible;
WindowState = System.Windows.WindowState.Normal;
}
public void window_close()
{
//ウィンドウを非可視にする
Visibility = System.Windows.Visibility.Collapsed;
}
public void play()
{
window_close();
長い処理
window_visible();
}
おそらくは非表示にしても,こちらの処理中なのでウィンドウの再描画が行われないのが原因ではないかと思っているのですが,
再描画をするにはどのようにすれば良いのでしょうか?
window_close()の後にShow()を実行してみましたが最終的に非表示になってしまい,処理中に非表示にはなってくれませんでした…
- 392 :名無しさん@お腹いっぱい。:2012/07/20(金) 15:20:17.18 ID:ooVlvWEf0.net
- これWinFormじゃないよね
WPF?
- 393 :名無しさん@お腹いっぱい。:2012/07/20(金) 15:29:58.29 ID:Ku4ZC7nA0.net
- window_close();
Task task = Task.Factory.StartNew(長い処理);
task.ContinueWith(_task => this.Dispatcher.Invoke((Action)this.window_visible));
こんな感じ?
.NET 3.5までならBackgroundWorkerで
- 394 :391:2012/07/20(金) 16:36:09.50 ID:+FWU6vnR0.net
- >>392
はい,WPFでした.
>>393
動きました,ありがとうございます.
C#だと別スレッドで動かすのはこんなに簡単なんですね.
- 395 :名無しさん@お腹いっぱい。:2012/07/20(金) 17:23:17.65 ID:+FWU6vnR0.net
- Listboxの要素をウィンドウ外にD&Dすると削除するようなコードを書こうとしています.
D&D自体のコードはこちらを参考にしており,同じウィンドウ内の別のListboxへは問題無くD&Dできています.
http://main.tinyjoker.net/Tech/CSharp/WPF/ListBox%A4%CE%A5%A2%A5%A4%A5%C6%A5%E0%A4%F2%C8%BE%C6%A9%CC%C0%A5%B4%A1%BC%A5%B9%A5%C8%A4%C4%A4%AD%A5%C9%A5%E9%A5%C3%A5%B0%A5%A2%A5%F3%A5%C9%A5%C9%A5%ED%A5%C3%A5%D7%A4%C7%CA%C2%A4%D9%C2%D8%A4%A8%A4%EB.html
古いですが似たような事をしようとしていた人がいましたが
http://oshiete.goo.ne.jp/qa/2668253.html
ウィンドウ外でドロップしてもe.ActionがDropになりません.
Continueは出続けているのですが,ドロップしたときのイベントが取れていないようです.
ドロップしようとしてもマウスカーソルが道路標識の通行止めマークになるので,それが原因だと思うのですが…
どなたか解決方法をご存じの方はお教え下さい.
- 396 :名無しさん@お腹いっぱい。:2012/07/20(金) 19:25:37.01 ID:tVdxnnS40.net
- 無理
- 397 :名無しさん@お腹いっぱい。:2012/07/20(金) 21:35:04.33 ID:s2qLDoTI0.net
- マウスカーソルの移動をピクチャーボックス内に制限したいんですけど
Cursor.Clip = pictureBox1.Bounds;
としても、ピクチャーボックスのクライアント領域とは全然違う領域に
制限されてしまうんですけどどうしてですか?
ちなみに、Cursor.Clip = this.Bounds;
とすると、ちゃんとピクチャーボックスがのっているフォーム内に
きっちりと移動が制限されます。
Cursor.Clip = pictureBox1.ClientRectangle;
としてみても駄目でした。
- 398 :名無しさん@お腹いっぱい。:2012/07/21(土) 00:33:29.87 ID:vgwO4anV0.net
- >>397
スクリーン座標
- 399 :395:2012/07/23(月) 10:48:31.41 ID:ElUZG2xN0.net
- >>396
無理ですか…
D&Dが開始されたけどドロップできる要素にドロップされずに終了した事を検知できればいけると思ったんですが,
やっぱり無理なんですね…
- 400 :395:2012/07/23(月) 11:17:14.75 ID:ElUZG2xN0.net
- 自己解決しました.
>>399 の観点で探したら
DragDrop.DoDragDropの戻り値がドロップ失敗した時にDragDropEffects.Noneとなるので,
それを判定して処理すれば良かったようです.
- 401 :名無しさん@お腹いっぱい。:2012/07/27(金) 21:33:17.33 ID:Csfv2Zcb0.net
- テキストファイルの中身をそのままstring型の変数に代入するにはどうやればいいですか
第二表示.txt
というテキストファイルのテキストをそのままstring型変数にいれたいんだけど。
- 402 :名無しさん@お腹いっぱい。:2012/07/27(金) 21:34:26.76 ID:Dpsmk2s/0.net
- File.ReadAllText
- 403 :名無しさん@お腹いっぱい。:2012/07/27(金) 21:40:36.93 ID:Csfv2Zcb0.net
- 402
ありがとう
- 404 :名無しさん@お腹いっぱい。:2012/07/28(土) 16:18:32.30 ID:XfGkqQ3q0.net
- 404 Not Found
- 405 :名無しさん@お腹いっぱい。:2012/07/30(月) 22:00:31.79 ID:pkNqJGc30.net
- DGVだけの画面があって、
DGVはセルの大きさに応じてサイズが変わるようにしてあるんですが、
肝心の画面サイズがデフォルトのままで困っています。
AutoSizeプロパティをtrueにするだけでは不十分なんでしょうか・・・
- 406 :名無しさん@お腹いっぱい。:2012/07/30(月) 22:04:32.04 ID:9qGqvDtq0.net
- DGV.Dock = Fill;
って話?
- 407 :名無しさん@お腹いっぱい。:2012/07/30(月) 23:10:46.00 ID:pkNqJGc30.net
- いえ、
例えばDGVのサイズが(100,50)の時にFormをロードしたらFormサイズは(100以上、50以上)となり、
(200,100)の時は(200以上、50以上)となるような設定をしたいと考えています。
FormのサイズプロパティにDGVのHeightとWidthを当てようとしたのですが、エラーとなってしまいました
- 408 :名無しさん@お腹いっぱい。:2012/07/31(火) 00:34:21.44 ID:TkWW1iZxP.net
- dgvはAnchor=Top|Left
Dock=None
FormはAutoSize=True
それだけ
- 409 :名無しさん@お腹いっぱい。:2012/07/31(火) 00:43:39.97 ID:TkWW1iZxP.net
- でも"以上"の部分によるから晒してみれば?
- 410 :名無しさん@お腹いっぱい。:2012/07/31(火) 01:34:27.17 ID:9WuHUHVs0.net
- http://itpro.nikkeibp.co.jp/members/NSW/ITBASIC/20050427/160243/
このサイトを参考にして作業を進めているのですが表示させる絵柄は
どこにどのようにして用意すればいいのでしょうか?
- 411 :名無しさん@お腹いっぱい。:2012/07/31(火) 01:35:26.63 ID:9WuHUHVs0.net
- sage忘れすみません。
- 412 :名無しさん@お腹いっぱい。:2012/07/31(火) 01:55:31.11 ID:XZMweJmZ0.net
- 以前似たようなカード欲しい人が居たので作ったのがあった
http://www.dotup.org/uploda/www.dotup.org3257846.zip.html
著作権フリーつーか絵カードの中味は用意してないので
欲しければカードを出力するソースもあるよ
- 413 :名無しさん@お腹いっぱい。:2012/07/31(火) 02:26:02.19 ID:KndnsOOq0.net
- VS2003にトランプ画像なんて付いてたんだ。
サンプル用かな?知らなかった。
>>412
準備良すぎだろw
- 414 :名無しさん@お腹いっぱい。:2012/07/31(火) 18:18:28.45 ID:r1hnuSpm0.net
- >>>410
プロジェクト作って貼り付けて実行すればOK
http://ideone.com/JvCiv
- 415 :名無しさん@お腹いっぱい。:2012/07/31(火) 23:08:26.03 ID:9WuHUHVs0.net
- >>412 >>414
亀ですがありがとうございます。
そして>>414のプログラムが何がなんだかわからないです・・・
実行したらフォームが表示されるだけでデスクトップに空のファイルができてたのでそこに画像入れればいいんですかね?
- 416 :名無しさん@お腹いっぱい。:2012/07/31(火) 23:14:36.90 ID:r1hnuSpm0.net
- しまった
LoadとShownはデザイナから先に追加しておかないと駄目なんだな
じゃあこれで。こっちはプロジェクト作って貼り付ければOK
http://ideone.com/Z2WDG
- 417 :名無しさん@お腹いっぱい。:2012/08/10(金) 14:31:22.34 ID:Ni+qk6Zt0.net
- ユーザーコントロールを作っているのですが、
TableLayoutPanelの GetRowHeightsとGetColumnWidths が
'System.Windows.Forms.TableLayoutPanel' に 'GetColumnWidth' の定義が含まれておらず、型 'System.Windows.Forms.TableLayoutPanel' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
というエラーになります。
Windows 7 professional
Visual Studio 2010 professional
.NET Framework Client Profile 4
でやってます。
using System.Windows.Forms;
も入ってます。
どうしたら、このメソッドが使えますか?
使えないなら使えないで、こんな糞みたいなメソッドじゃない、クールな方法はありませんか?
- 418 :名無しさん@お腹いっぱい。:2012/08/10(金) 14:35:43.71 ID:8esUUh1G0.net
- 糞みたいなメソッド
じゃなくて
糞みたいなコード
書いてるんじゃないの?
- 419 :名無しさん@お腹いっぱい。:2012/08/10(金) 14:40:35.40 ID:IFN3OfFB0.net
- ま、ソース見ないと分からんね
- 420 :417:2012/08/10(金) 14:41:17.78 ID:Ni+qk6Zt0.net
- すいません。s が抜けてました。
- 421 :名無しさん@お腹いっぱい。:2012/08/10(金) 14:43:06.49 ID:8esUUh1G0.net
- これが間違ってないとすれば書いてるコードがおかしいとしかいえない
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.tablelayoutpanel.getcolumnwidths.aspx
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.tablelayoutpanel.getrowheights.aspx
- 422 :名無しさん@お腹いっぱい。:2012/08/10(金) 14:44:48.72 ID:IFN3OfFB0.net
- プロジェクトの形式でクラスライブラリを選んでて、アセンブリ追加していないとか
- 423 :名無しさん@お腹いっぱい。:2012/08/10(金) 15:39:15.98 ID:ggeryw4P0.net
- >>418
正解w
- 424 :名無しさん@お腹いっぱい。:2012/08/14(火) 01:59:51.20 ID:KAfHN7UAO.net
- はじめまして。
C#のTimer使ってピクチャーボックスを表示したり非表示にしたりってどう書いたらいいんでしょうか?
モグラ叩きみたいのにしたいんでできれば表示する場合はランダムにしたいです。
- 425 :名無しさん@お腹いっぱい。:2012/08/14(火) 03:11:22.51 ID:KC/ugEqj0.net
- >>424
コピペすればそのまま動くと思う
http://ideone.com/fjYPG
部分的に未完成
- 426 :名無しさん@お腹いっぱい。:2012/08/27(月) 21:29:03.92 ID:DD8oSj/T0.net
- libmp4v2.dll をVC#で使っている方おりますでしょうか?
http://code.google.com/p/mp4v2/downloads/detail?name=mp4v2-r479-windows-binaries.zip&can=1&q=
ここを参考にしているのですが、MP4Readの段階でPInvokeStackImbalanceを出すので
難儀しております。。
http://social.msdn.microsoft.com/Forums/en-US/clr/thread/d8197416-0447-4e3a-a159-004d20a92f30
- 427 :名無しさん@お腹いっぱい。:2012/08/27(月) 21:48:39.38 ID:72/ENMn20.net
- しょっぱなじゃねえか
dllの呼び出し規約がcdeclなんじゃないの
- 428 :名無しさん@お腹いっぱい。:2012/08/27(月) 21:49:38.20 ID:7nW8yddP0.net
- なぜコードを晒さないんだろうな・・・
- 429 :名無しさん@お腹いっぱい。:2012/08/31(金) 08:58:01.69 ID:2PB5qGf20.net
- こういう似たような条件同士のif文があったとして
.if(strChinko == "黒" || strChinko == "白"){
. MessageBox.Show("Good!");
.}
こういう風に省略して書く方法がC#にはありますか?
.if(strChinko == "黒" "白"){
. MessageBox.Show("Good!");
.}
- 430 :名無しさん@お腹いっぱい。:2012/08/31(金) 09:30:22.86 ID:WZcIV23T0.net
- ない
if (new[] { "黒", "白"}.Contains(strChinko))
というのもあるが、数個くらいなら普通に||で並べろ
- 431 :名無しさん@お腹いっぱい。:2012/08/31(金) 15:23:39.98 ID:cC27pdt50.net
- >>429
ifじゃないけど
http://ideone.com/UqFEn
- 432 :名無しさん@お腹いっぱい。:2012/08/31(金) 15:48:58.73 ID:2ARcGJuA0.net
- bool isChinko() {
if (strChinko == "黒") return true;
if (strChinko == "白") return true;
return false;
}
if(isChinko()){
MessageBox.Show("Good!");
}
が正解
- 433 :名無しさん@お腹いっぱい。:2012/08/31(金) 16:05:26.44 ID:4Wnd101t0.net
- >>432
そ、そうなのか
- 434 :名無しさん@お腹いっぱい。:2012/08/31(金) 16:13:31.86 ID:2ARcGJuA0.net
- そりゃそうよ
- 435 :名無しさん@お腹いっぱい。:2012/08/31(金) 19:01:17.93 ID:m9Zc4+tU0.net
- >>432
その
if (strChinko == "黒") return true;
if (strChinko == "白") return true;
のところを
こういう風に省略して書く方法がC#にはありますか?
if (strChinko == "黒" "白") return true;
- 436 :名無しさん@お腹いっぱい。:2012/08/31(金) 19:31:51.81 ID:HRYhAKXJ0.net
- ないよ。
- 437 :名無しさん@お腹いっぱい。:2012/08/31(金) 19:56:27.26 ID:NZXdkMNN0.net
- 無いから代わりの方法だしてるのに理解してなくてワロタ
- 438 :名無しさん@お腹いっぱい。:2012/09/01(土) 00:08:42.44 ID:N/I90ruq0.net
- >>432-437
ありがとうございます、普通に記述します(´・ω・`)
- 439 :名無しさん@お腹いっぱい。:2012/09/01(土) 00:14:51.17 ID:N/I90ruq0.net
- machigaemasita
>>430-437
ありがとうございます、普通に記述します(´・ω・`)
- 440 :名無しさん@お腹いっぱい。:2012/09/12(水) 13:24:22.93 ID:JZaOLC5N0.net
- なあ、みんな仕事以外でどんなのプログラミングしているの?
大抵のものは既に存在するし、作ってみようってお題がないんだが・・・
- 441 :名無しさん@お腹いっぱい。:2012/09/12(水) 13:25:47.90 ID:z/HYs8SF0.net
- 大抵の物はあるから模倣するのが勉強になるんじゃないか
その中でいろいろ学べて新しく吸収したことでもっと違う物を作ってみるかとなるかもしれない
- 442 :名無しさん@お腹いっぱい。:2012/09/12(水) 13:56:45.02 ID:JZaOLC5N0.net
- なるほど、手始めに既存の小物ツールをオシャレGUIにしてみるかな
- 443 :名無しさん@お腹いっぱい。:2012/09/12(水) 13:58:01.39 ID:z/HYs8SF0.net
- 結局のところ自分の引き出しをいかに増やすかだな
- 444 :名無しさん@お腹いっぱい。:2012/09/12(水) 14:08:59.25 ID:CxQNHZOk0.net
- やっぱり3Dのゲームでしょ
普通のITドカタならやらないから
- 445 :名無しさん@お腹いっぱい。:2012/09/12(水) 18:05:38.22 ID:smzGQO1i0.net
- プラットフォーム初、を狙え
Win8向けに、利用者の多いWebサービスの非公式クライアントを作ってストアに一番乗りしろ
Win8がコケようが一番乗りできれば一定数は確実に売れる
- 446 :名無しさん@お腹いっぱい。:2012/09/13(木) 15:00:29.28 ID:vyg7sSHC0.net
- 助けてください、エスパー向けの質問で失礼しますが助けてください
ファイルを読み込んでbyte配列に変換して編集して出力したいんですが、
編集していない個所まで書き換わってしまいます。
エンコードミスでしょうか?どうすれば元の文字コードで出力できるのでしょうか?
それともStreamReaderじゃあ元のデータを維持したまま読み込む子尾はできないのでしょうか?
もうわけがわからんです
■ソース
ttp://ideone.com/2jeTL
■Projectファイル
ttp://www.rupan.net/uploader/download/1347515489.zip
- 447 :446:2012/09/13(木) 15:05:07.26 ID:vyg7sSHC0.net
- Project間違えました
■Projectファイル
ttp://www.rupan.net/uploader/download/1347516224.zip
- 448 :名無しさん@お腹いっぱい。:2012/09/13(木) 15:10:07.57 ID:uKOsy++D0.net
- >byte[] data = Encoding.GetEncoding("Shift_JIS").GetBytes(text);
これが原因じゃないの?
> StreamReader ss = new StreamReader(path, Encoding.GetEncoding("Shift_JIS"));
> string text = ss.ReadToEnd();
> ss.Close();
この段階ではShift-JISから.netの内部で使ってるUSC-2に変換されてる
それをまたshift-JISのデータが入ってるように指定してbyte配列に変換して
書き換えて、shift-JISで保存すれば壊れても当たり前のような気も
つーかtextboxでも貼り付けて細かい中味を見てみろよ
- 449 :名無しさん@お腹いっぱい。:2012/09/13(木) 15:17:30.72 ID:JVZ9QKXg0.net
- 途中で文字として扱う必要がないならStreamReader/StreamWriter使う意味なくね?
// っていうと「いや実際には……」って返ってきそうな薬罐
- 450 :名無しさん@お腹いっぱい。:2012/09/13(木) 15:36:36.80 ID:uKOsy++D0.net
- これでOK
http://ideone.com/1ByPj
- 451 :名無しさん@お腹いっぱい。:2012/09/13(木) 15:45:23.52 ID:vyg7sSHC0.net
- >>448-450
ありがとうございますありがとうございます( _ _)
これで前に進めます
- 452 :名無しさん@お腹いっぱい。:2012/09/13(木) 15:48:23.08 ID:dwwWp7JJ0.net
- Formアプリケーションでこういうのやりたいんだが、専用のコントロールある?
http://www.atmarkit.co.jp/fdotnet/dotnettips/595aspajaxcollapspnl/aspajaxcollapspnl.html
- 453 :名無しさん@お腹いっぱい。:2012/09/13(木) 16:12:43.85 ID:uKOsy++D0.net
- 無かったような
こんな感じで作れる・・・けど良く考えるとwebページみたいに開閉するたびに
ページコンテンツが移動していいの?
その辺がよくわからないのでこのパターンにしてみた
http://ideone.com/RgKVD
- 454 :名無しさん@お腹いっぱい。:2012/09/13(木) 17:21:35.76 ID:dwwWp7JJ0.net
- >>453
コードまでありがとう
SplitContainer良さそうだね
今回は開閉に合わせて他のコントロール含めForm全体の高さも
変えようと思ってるんで、これを参考に作ってみまつ
- 455 :名無しさん@お腹いっぱい。:2012/09/15(土) 10:52:15.47 ID:8WOrUwvl0.net
- てs
- 456 :名無しさん@お腹いっぱい。:2012/09/15(土) 15:26:40.95 ID:w0zpNvL/0.net
- 遊び終わったゲームは秋葉原のフレンズで売ろう!
http://gameshop.ocnk.net/
・Webに掲載された買取価格は釣り(どんなに美品でも半額が最高)
・内訳出さない(ソフトに小さい値札を貼るだけ、査定終わったら剥がされる 簡単に証拠は残さないYO!)
・当然、引換証も出さない
その代わりメモ用紙に「○○円 受け取りました 住所+氏名」と書かせる なにそれ?マジで意味わからん・・
・売買成立してないのに身分証明を要求、査定前にコピーして口封じを図る
飲み会のネタが確実に一つ増えますよ(^^
> 201 :なまえをいれてください:2008/09/26(金) 04:34:08 ID:eWPbQdE2
> アキバ行って査定
> PS 学校であった怖い話S(帯無、美品)
>
> web買取価格表
> フレンズ 9000円
>
> フレンズ
> 査定500円
> 俺「webと随分違いますね」
> アホ面店員「美品での買取価格なので」
> じゃ、”ソフトのみ” ”完品” ”美品+α” に 分ける必要あんの?
> 俺の美品が完品にすらならんの?
> 2ちゃんで半額とか当たり前とか聞いてまさかと思ったが、半額どころじゃなかったよ
> それでも客が売りにくる不思議はあるがな。断れない気の弱い客狙いなのかね
> どこをどうすると500円という金額が出てくるんですかね?ヤクザならぶん殴られてるわ
> 他にも10本程度持ってったが全部webの1割程度かそれ以下
> さすがにあきれて言葉も返せさなかったわ、よく訴えられないねこの店
- 457 :名無しさん@お腹いっぱい。:2012/09/17(月) 05:24:15.57 ID:0M7Go0Rj0.net
- winAPIのULONG_PTRって型をC#で定義するときはIntPtrでいいのかな
名前的にオーバーフローしそうな気がするんだけど問題ない?
UIntPtrってのもあるけどこっちのがいいのかな
- 458 :名無しさん@お腹いっぱい。:2012/09/17(月) 06:58:02.49 ID:4/VwBFNE0.net
- IntPtrで問題ない
- 459 :名無しさん@お腹いっぱい。:2012/09/17(月) 13:29:29.59 ID:IZsi9JPU0.net
- 不安ならtypedefしているところを確認したまえ
http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx
#if defined(_WIN64)
typedef unsigned __int64 ULONG_PTR;
#else
typedef unsigned long ULONG_PTR;
#endif
- 460 :名無しさん@お腹いっぱい。:2012/09/17(月) 15:41:56.55 ID:4/VwBFNE0.net
- signedかunsignedかということなら
UIntPtrは使わないよな
- 461 :名無しさん@お腹いっぱい。:2012/09/17(月) 16:51:49.85 ID:9uSqAn2K0.net
- え?
- 462 :名無しさん@お腹いっぱい。:2012/09/17(月) 17:49:32.20 ID:4/VwBFNE0.net
- え?じゃなくて。
使う場面ないっしょ
- 463 :名無しさん@お腹いっぱい。:2012/09/17(月) 18:02:02.24 ID:0M7Go0Rj0.net
- windows7 64bit VS2010
UIntPtr up = new UIntPtr();
up = (UIntPtr)uint.MaxValue; // 通る
up = (UIntPtr)ulong.MaxValue; // x64向けビルドは通る
IntPtr p = new IntPtr();
p = (IntPtr)uint.MaxValue; // x64向けビルドは通る
//p = (IntPtr)ulong.MaxValue; // コンパイルエラー
>>459見るとULONG_PTRは32/64bit符号なし整数だから
やっぱり値によってはオーバーフローするように思えるんだけど…
何か勘違いしてたら指摘お願いします
- 464 :名無しさん@お腹いっぱい。:2012/09/17(月) 19:45:00.78 ID:VbchTx9p0.net
- >>463
UIntPtrもIntPtrも実体はアドレスが入る入れ物だからx86かx64でのみ長さが変わる
X86ならIntPtrもUIntptrも64bitだが、x86なら両方とも32bit
詳しく調べないといけないけど、落ちる理由は全然別だと思うよ
- 465 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:06:55.07 ID:4/VwBFNE0.net
- ULONG_PTR Method();
というCのコードがあったとして
C#でP/Invokeするときに
[DllImport...]
extern IntPtr Method();
と宣言しても
[DllImport...]
extern UIntPtr Method();
と宣言してもどっちでも使えるよってこと
>>463は.netの世界でのエラーの話だろ
int i = (int)uint.MaxValuel;
がコンパイルエラー出すのと同じ
Cで書かれたMethod()が0xFFFFFFFFFFFFFFFFを返してきた場合を考えてみても
ビット列としては同一で、IntPtrなら-1になるだけの話
UIntPtrを使う場面ないっしょというのは、intとuintを混在させて使うメリットないというのと同じ意味っす
- 466 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:22:19.02 ID:VbchTx9p0.net
- >>465
>Cで書かれたMethod()が0xFFFFFFFFFFFFFFFFを返してきた場合を考えてみても
>ビット列としては同一で、IntPtrなら-1になるだけの話
いやだから、返ってくるのはポインターだからアドレス値。IntptrでもUIntptrでもUnsignedだよ
違いはそのアドレスが指し示す場所にあるデータがsignedかunsignedって違いだけ
- 467 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:29:49.51 ID:4/VwBFNE0.net
- ちょっと何言ってるか分からないです
- 468 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:30:42.83 ID:IZsi9JPU0.net
- IntPtrに-1は入るけど、UIntPtrには入らないのはなんか関係あんの?
- 469 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:32:23.98 ID:flhbUipA0.net
- 頭のUの意味を考えれば・・・
- 470 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:34:28.50 ID:flhbUipA0.net
- IntPtrもUIntPtrターゲットが同じならbit幅は同じ
同じbit幅の中で表現できる情報は限られててどう表現するか
UなしのIntPtrは補数表現込み
UありのIntPtrは補数表現なし
- 471 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:34:37.51 ID:IZsi9JPU0.net
- いや、なぜハッキリ「符号に意味がないんだよ」ってことを言わないのかなと思って
- 472 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:35:50.94 ID:9uSqAn2K0.net
- >>466
typedef unsigned __int64 ULONG_PTR;
typedef unsigned long ULONG_PTR;
何言ってるんだかちょっとわからないです。
- 473 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:36:45.88 ID:flhbUipA0.net
- 絶対アドレスだけを扱うなら符号なしでもいいけど
相対アドレスも考慮するとあるアドレスからマイナスの番地は必要だよ
- 474 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:38:16.97 ID:KWHauYAx0.net
- >>473
ポインタ同士の加算はできないから不要だよ
- 475 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:38:50.92 ID:IZsi9JPU0.net
- 相対アドレスはオフセットであってマイナスの番地とは意味が違うっす
- 476 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:40:37.58 ID:KWHauYAx0.net
- 必要ないけどIntがあってUIntが無いのはなんかキモイから追加した
みたいなことがMSDNには書いてあるね
- 477 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:41:19.82 ID:flhbUipA0.net
- >>476
まあその程度だよね
なんでわざわざもめてるのかよくわからんかった
- 478 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:42:31.98 ID:IZsi9JPU0.net
- IntPtr p = (IntPtr)0x7FFFFFFF;
p = IntPtr.Add(ppp, 1);
pはいくらでしょうか
- 479 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:43:08.64 ID:flhbUipA0.net
- ppp
どこから出てきたの?
- 480 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:43:49.11 ID:IZsi9JPU0.net
- そこはコピペに失敗したのでppp->pと読み替えてください
- 481 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:45:27.08 ID:flhbUipA0.net
- >>478
それは実装によるんじゃないの?
一番下層のx86の仕組に依存するのかその上の方で判断してるのかしらんけど
- 482 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:53:05.98 ID:0M7Go0Rj0.net
- なんとなくわかってきた
.netで呼び出す過程では、変数のサイズさえあってれば
(符号無視して)そのままのビット列で返ってくることでいいのか
- 483 :名無しさん@お腹いっぱい。:2012/09/17(月) 20:56:57.93 ID:KWHauYAx0.net
- うん
オーバーフローするかもしれないが別にそんなことに意味はない
- 484 :名無しさん@お腹いっぱい。:2012/09/23(日) 00:15:20.15 ID:y30RztivO.net
- 例えば、
enum animal { cat, dog, mouse };
...
Console.WriteLine(animal.cat);
で、 cat が出力されますが、これって意味があるのでしょうか?
animal.cat としている段階でcatの存在は自覚しているはずで
cat を出力したければ、Console.WriteLine("cat"); などとすればよいと思うのですが。。。
もしくは、animal.cat として cat を求めなければならない
理由や状況などがあれば教えていただきたいのです。
- 485 :名無しさん@お腹いっぱい。:2012/09/23(日) 00:17:57.09 ID:+WRtkWU90.net
- 禅問答か何か?
どうあるべきが自分の中では正解だと思ってるの?
- 486 :名無しさん@お腹いっぱい。:2012/09/23(日) 00:22:10.99 ID:dI7hJC+X0.net
- //Console.WriteLine(animal.cat);
こうすりゃいい
- 487 :名無しさん@お腹いっぱい。:2012/09/23(日) 00:34:41.47 ID:ac2G8xZ80.net
- >>484
例えばだけど、コンボボックスでanimal型を選択できるようにしておいて
ユーザーが何を選択したかによって動作を変える場合とか
animal someAnimal = animal.cat; // ここにユーザーが選択した値が入ってくるとして
Console.WriteLine("{0}が選択されました", someAnimal);
if (someAnimal == animal.cat) {
...
あとよくあるのはメソッドの引数でオプション指定するような使い方
例えばFile.Open関数の第二引数は列挙体になってる
File.Open(string, FileMode);
それから列挙体の名前は一般的に大文字でスタートさせるのが慣習なんで注意しましょう
- 488 :名無しさん@お腹いっぱい。:2012/09/23(日) 03:57:26.46 ID:y30RztivO.net
- 例えば、
enum animal { cat, dog, mouse };
...
Console.WriteLine(animal.cat);
で、 cat が出力されますが、これって意味があるのでしょうか?
animal.cat としている段階でcatの存在は自覚しているはずで
cat を出力したければ、Console.WriteLine("cat"); などとすればよいと思うのですが。。。
もしくは、animal.cat として cat を求めなければならない
理由や状況などがあれば教えていただきたいのです。
- 489 :名無しさん@お腹いっぱい。:2012/09/23(日) 03:59:45.13 ID:y30RztivO.net
- すいません誤爆しました。
ありがとうございました。
- 490 :名無しさん@お腹いっぱい。:2012/09/23(日) 21:52:27.68 ID:y30RztivO.net
- 実行ファイルをリソースに埋め込むことは可能でしょうか?
- 491 :名無しさん@お腹いっぱい。:2012/09/23(日) 21:53:07.74 ID:y30RztivO.net
- 実行ファイルをリソースに埋め込むことは可能でしょうか?
- 492 :名無しさん@お腹いっぱい。:2012/09/23(日) 22:20:12.63 ID:HqHVtFvg0.net
- リソースへのストリーム開いてbyte配列に読み込んでAssembly.Load(byte[])
- 493 :名無しさん@お腹いっぱい。:2012/10/09(火) 16:48:10.32 ID:MOJfNnXj0.net
- ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね
- 494 :名無しさん@お腹いっぱい。:2012/10/10(水) 11:28:39.92 ID:JL+iP2ke0.net
- 参照の追加でuser32.dllなどのwinapiライブラリを追加できないでしょうか
- 495 :名無しさん@お腹いっぱい。:2012/10/10(水) 11:33:18.12 ID:CrzF5W1K0.net
- >>494
これじゃだめなの?
http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html
- 496 :名無しさん@お腹いっぱい。:2012/10/10(水) 13:33:38.69 ID:bFawIBks0.net
- こういうのもある
WindowsR API Code Pack for MicrosoftR .NET Framework
http://archive.msdn.microsoft.com/WindowsAPICodePack
- 497 :名無しさん@お腹いっぱい。:2012/10/10(水) 17:33:42.23 ID:B4f5z3F70.net
- http://ideone.com/Xqxm3
ボタン1を押すとエラーになりますが、ボタン2はエラーになりません
初心者の直感ではボタン1のAddControl行とWriteLine行で実行される引数は同じものなので
問題なく動きそうな気がしますが、何が問題なのでしょうか?
- 498 :名無しさん@お腹いっぱい。:2012/10/10(水) 17:41:28.21 ID:EnPjftbn0.net
- Select呼び出した時点ではまだその中に記述したデリゲートは実行されていない
foreachした時点で初めて実行される
もちろん二回foreachしたらそれぞれ別々に実行される
- 499 :名無しさん@お腹いっぱい。:2012/10/10(水) 17:52:35.01 ID:B4f5z3F70.net
- >>498
Controlのハッシュコード見て納得しました。両者の引数の中身は別々のものだったんですね
ありがとうございます
- 500 :名無しさん@お腹いっぱい。:2012/10/13(土) 09:35:06.08 ID:bcLNuUO70.net
- フォント変えるたびにサイズだのMarginだのUIがグダグダになるんだけどフォントだけ変えられないの?
- 501 :名無しさん@お腹いっぱい。:2012/10/13(土) 09:36:34.58 ID:5zpC+t1f0.net
- 無理です
- 502 :名無しさん@お腹いっぱい。:2012/10/13(土) 15:09:46.38 ID:VcGh2v180.net
- AutoScaleModeをFontじゃくすればおk
- 503 :名無しさん@お腹いっぱい。:2012/10/13(土) 18:31:58.36 ID:bcLNuUO70.net
- >>502
ありがと
- 504 :名無しさん@お腹いっぱい。:2012/10/24(水) 15:15:58.56 ID:k+hoXY1r0.net
- AutoHotKey、C、C++、C#、1から覚えるならどれがよいでしょうか?
- 505 :名無しさん@お腹いっぱい。:2012/10/24(水) 17:31:04.00 ID:iih9hxB00.net
- >>504
何がしたいのかによる
手っ取り早くGUIアプリ作りたいならC#
- 506 :名無しさん@お腹いっぱい。:2012/10/24(水) 17:46:55.86 ID:k+hoXY1r0.net
- C、C++を使わなければならない場面って
どんな時が想定されるのでしょうか?
- 507 :名無しさん@お腹いっぱい。:2012/10/24(水) 17:52:52.34 ID:Ik1RwUJu0.net
- C#が気に入らないとき
- 508 :名無しさん@お腹いっぱい。:2012/10/24(水) 17:53:33.55 ID:k+hoXY1r0.net
- C#が気に入らないときって
どんなときなのでしょうか?
- 509 :名無しさん@お腹いっぱい。:2012/10/24(水) 17:56:51.88 ID:JblmfH4p0.net
- 所詮は道具なのに自分の存在価値がC++を信望する
ことにあるように思い込んでるオールドグラマーのプライドが傷ついたとき
所詮は道具
- 510 :名無しさん@お腹いっぱい。:2012/10/24(水) 17:59:35.21 ID:iih9hxB00.net
- >>506
速度が必要なときとかドライバ開発するときとか
- 511 :名無しさん@お腹いっぱい。:2012/10/27(土) 22:57:43.05 ID:kK2FJj7P0.net
- C++の名前空間がついた関数をC#から呼ぶ方法ってありますか?
C++
namespace std
{
dllexport void hello{}
};
C#
class Test{
[DllImport("Hello.dll")]
public static extern void std::hello();
}
- 512 :名無しさん@お腹いっぱい。:2012/10/27(土) 23:05:34.95 ID:QanRTcXg0.net
- ありまっせん
- 513 :名無しさん@お腹いっぱい。:2012/10/27(土) 23:26:54.29 ID:XAMdIF+y0.net
- C++/CLI でバイパス関数を作るとか?
- 514 :名無しさん@お腹いっぱい。:2012/10/27(土) 23:28:44.51 ID:dc7ozUsu0.net
- dumpbin /exportsでエクスポートされてる名前調べて
DllImportのEntryPointに指定する
@とか色々ついてるの全部な
- 515 :名無しさん@お腹いっぱい。:2012/10/29(月) 21:53:35.88 ID:8J/RA3H7O.net
- みなさんマイクロソフトのVC#2010お使いですか?
時期バージョンではメトロアプリケーションしか作れないって本当ですか?
- 516 :名無しさん@お腹いっぱい。:2012/10/29(月) 21:56:45.43 ID:DV7dQm/k0.net
- とっくに2012出てるし普通のアプリケーションも作れるfor Desktopもあります
しかしVistaでは動きませんwwwwwwwww
- 517 :名無しさん@お腹いっぱい。:2012/10/29(月) 22:19:21.43 ID:8J/RA3H7O.net
- >>516
無償版出てるんですか?
- 518 :名無しさん@お腹いっぱい。:2012/10/29(月) 22:20:18.01 ID:FBftQse/0.net
- 2012あったんかVistaの俺オワタwwwwwwwww
- 519 :名無しさん@お腹いっぱい。:2012/10/29(月) 22:36:22.16 ID:JIRDyW8T0.net
- 嘘です。
- 520 :名無しさん@お腹いっぱい。:2012/10/29(月) 22:37:26.11 ID:ma/E4RsR0.net
- VisualStudio 2010で
VisualStudioのプロパティ設定画面のような入力を実現したいのですが
1. そーゆーフォームってありますか?
2. サンプルが載っているようなサイトがあったら教えてください。
プロパティ 設定値
位置 5 , 80
サイズ 20 , 50
色 ■ ←赤く表示されてる
背景色 □ ←白く表示されてる
みたいなやつです。
- 521 :名無しさん@お腹いっぱい。:2012/10/29(月) 22:37:43.81 ID:DV7dQm/k0.net
- Win7でしか動かない機能があるからVista駄目って名目だけどホンマかいな
- 522 :名無しさん@お腹いっぱい。:2012/10/29(月) 22:48:17.45 ID:FBftQse/0.net
- Win8って売れるのかあれ?
- 523 :名無しさん@お腹いっぱい。:2012/10/29(月) 22:49:25.41 ID:y+W1M2Ph0.net
- あれだけ安ければ売れるだろ
- 524 :名無しさん@お腹いっぱい。:2012/10/29(月) 23:03:27.73 ID:JIRDyW8T0.net
- >>520
http://dobon.net/vb/dotnet/control/propertygrid.html
- 525 :名無しさん@お腹いっぱい。:2012/10/29(月) 23:12:27.84 ID:rW3DTNlp0.net
- ドボンすげー
- 526 :名無しさん@お腹いっぱい。:2012/10/30(火) 00:24:45.57 ID:bUd/YgI20.net
- >>524
PropertyGridコントロールっていうのですね。
ありがとうございます。助かりました。
- 527 :名無しさん@お腹いっぱい。:2012/10/31(水) 15:57:59.06 ID:MyiV4EuH0.net
- ILSpy使ってみたのですが
base..ctor();
こんなのがでてきます
なんですか、これは?
- 528 :名無しさん@お腹いっぱい。:2012/10/31(水) 16:07:42.48 ID:xYjQuu0g0.net
- 基底クラスのコンストラクタ呼び出し
.ctor:コンストラクタ
.cctor:静的コンストラクタ
.dtor:ファイナライザ
- 529 :名無しさん@お腹いっぱい。:2012/10/31(水) 16:16:05.60 ID:MyiV4EuH0.net
- ありがとうございます
なんでそんなものがでてくるのかわかりませんが、コンパイル通らないので削っておきました
- 530 :名無しさん@お腹いっぱい。:2012/10/31(水) 18:45:24.78 ID:1qE1ndG1P.net
- C#の絵本買って読んでみてるけど
まったく頭に入らない。プログラムは難しいね
- 531 :名無しさん@お腹いっぱい。:2012/10/31(水) 18:50:47.45 ID:FGAWRxyp0.net
- なんだってェ・・・?
- 532 :名無しさん@お腹いっぱい。:2012/10/31(水) 20:03:08.03 ID:SoL3B7R90.net
- >>529
- 533 :名無しさん@お腹いっぱい。:2012/10/31(水) 23:03:56.83 ID:kRljdB+h0.net
- >>529
!?
- 534 :名無しさん@お腹いっぱい。:2012/10/31(水) 23:13:13.09 ID:FGAWRxyp0.net
- どういうことなん
- 535 :名無しさん@お腹いっぱい。:2012/11/01(木) 11:12:25.09 ID:r4ED/Trl0.net
- ILSpy使ってる時点でコンパイルは済んでいるはずだが……
- 536 :名無しさん@お腹いっぱい。:2012/11/01(木) 11:14:25.82 ID:2+OQdg2B0.net
- ILSpy使ったことない人たち乙
使ってみればわかるよ
- 537 :名無しさん@お腹いっぱい。:2012/11/01(木) 19:37:35.41 ID:rJWV0p35O.net
- 一応言っておくけど
クラッキングに関する話題はローカルルールで禁止のはずだから
その辺弁えてね
違うなら別に良いけど
- 538 :名無しさん@お腹いっぱい。:2012/11/01(木) 20:06:16.58 ID:r4ED/Trl0.net
- べ……弁えてね……
- 539 :名無しさん@お腹いっぱい。:2012/11/01(木) 20:10:01.41 ID:3QH3y+v+0.net
- べんべん
- 540 :名無しさん@お腹いっぱい。:2012/11/01(木) 20:49:31.05 ID:5Gi8i1ek0.net
- その位わきまえろよ
- 541 :名無しさん@お腹いっぱい。:2012/11/01(木) 21:55:08.65 ID:yekrgJiTO.net
- 逆コンパイル防止とかできますか?
- 542 :名無しさん@お腹いっぱい。:2012/11/01(木) 21:56:06.12 ID:cK/t36Y90.net
- 無理
- 543 :名無しさん@お腹いっぱい。:2012/11/01(木) 22:02:16.46 ID:R3kwDSIh0.net
- 動作する以上、逆コンパイル自体の防止なんてネイティブでも不可能だけど
読みづらくして逆コンパイルした奴にやる気を無くさせることはできる
お前の作ったカスをわざわざ手間かけて解読しようなんて酔狂はいないから極めて有効
- 544 :名無しさん@お腹いっぱい。:2012/11/02(金) 03:24:11.42 ID:bqHByckqO.net
- C#は将来性のある言語でしょうか?
- 545 :名無しさん@お腹いっぱい。:2012/11/02(金) 09:27:36.49 ID:wC5ga2nw0.net
- スマホ向けクロスプラットフォーム開発では圧倒的トップシェアなんだっけ
- 546 :名無しさん@お腹いっぱい。:2012/11/02(金) 20:17:57.35 ID:aIakvy5+0.net
- iOSがObjectiv-C、AndroidがJavaで、その間をうまいことMonoが持って行ったわけか。
- 547 :名無しさん@お腹いっぱい。:2012/11/02(金) 22:07:19.88 ID:bqHByckqO.net
- 無償版のC#expでは難読化できないの?
- 548 :名無しさん@お腹いっぱい。:2012/11/02(金) 22:11:06.04 ID:CERrS32S0.net
- 単独じゃ無理だな
一応フリーなものは存在する
でもC#やJavaみたいなメタデータに依存しまくった言語で
適切に難読化を行うのはそれなりに面倒だ
多分このスレで質問してるレベルじゃ起動すらしなくなるだろう
- 549 :名無しさん@お腹いっぱい。:2012/11/02(金) 22:11:24.26 ID:wC5ga2nw0.net
- まずは解読したくなるようなアプリを作れるかどうかを心配したほうがいいよ
- 550 :名無しさん@お腹いっぱい。:2012/11/02(金) 22:14:07.60 ID:wC5ga2nw0.net
- だいたい、そこまで読まれたくないならクライアントにバイナリ置くこと自体が間違いだよ
デスクトップアプリなんてオワコンは捨ててWebアプリにすれば解読なんてしようがない
- 551 :名無しさん@お腹いっぱい。:2012/11/02(金) 22:56:20.70 ID:PCsPEjTX0.net
- まあそんなに読まれたくないものならC++で作ればいいだけだしなー
- 552 :名無しさん@お腹いっぱい。:2012/11/03(土) 01:21:58.61 ID:a4RPfFKTO.net
- C++expはコード補完してくれますか?
- 553 :名無しさん@お腹いっぱい。:2012/11/03(土) 05:09:40.38 ID:hZ/WQ5Qr0.net
- WebアプリWWWWWWWWWWWWWWWW
- 554 :名無しさん@お腹いっぱい。:2012/11/03(土) 11:05:12.64 ID:UA94FFsf0.net
- >C++expはコード補完してくれますか?
ある程度は
それよりはC99とかC++11への準拠度が低すぎてイライラする
- 555 :名無しさん@お腹いっぱい。:2012/11/03(土) 13:30:43.61 ID:UA94FFsf0.net
- もう一言いっておきたい
http://opcdiary.net/?p=6539
C++11が忙しいからC99は注力しないよ見たいな事を抜かしておいて
VC++2012のあのザマは何なのだ
舐めとんのか
- 556 :名無しさん@お腹いっぱい。:2012/11/03(土) 13:41:36.62 ID:aQkNFxaV0.net
- これでもC++のIDEとしては世界最高峰という現実
- 557 :名無しさん@お腹いっぱい。:2012/11/04(日) 00:47:22.62 ID:uGVODdQQ0.net
- >>554-555
スレ違いにレスするのもあれだが
2012のリリースに間に合った分だけ先に出したんじゃないか。
つい先日C++コンパイラのCTPが出たから試してみるといい。
Visual C++ Compiler November 2012 CTP
http://www.microsoft.com/en-us/download/details.aspx?id=35515
http://blogs.msdn.com/b/vcblog/archive/2012/11/02/visual-c-c-11-and-the-future-of-c.aspx
- 558 :名無しさん@お腹いっぱい。:2012/11/04(日) 01:15:52.52 ID:2HT1Ehp3O.net
- VC++はWinAPI呼び出しやすいですか?
- 559 :名無しさん@お腹いっぱい。:2012/11/04(日) 02:23:33.97 ID:8/SJMHn70.net
- WinAPIのようなC向けAPIはC#からでも呼び出しやすいから大差ない
C#の場合は.NETによって格段に便利な形でカバーされてるところも
C++ではWinAPIに頼らざるをえないことが多々あるから、総合的にみるとC#に比べて糞面倒
- 560 :名無しさん@お腹いっぱい。:2012/11/04(日) 12:51:39.29 ID:n0HETfhZ0.net
- まあDllImportに頼らないとkeybd_eventもSendInputも使えないので
マクロ書きたい初心者には不評なんですが
- 561 :名無しさん@お腹いっぱい。:2012/11/06(火) 06:24:23.97 ID:wprtWPyAO.net
- Func<int, int, int> foo = (x, y) => { return x + y; };
例えば上をコールバック関数にしたいと思ったらどうすればよいでしょうか?
extern static int CallBack( ???, int x, int y );
???は定義可能でしょうか?
- 562 :名無しさん@お腹いっぱい。:2012/11/06(火) 06:39:57.83 ID:7jUzu2Y40.net
- delegate int HogeCallback(int x, int y);
使うしかないね
- 563 :名無しさん@お腹いっぱい。:2012/11/06(火) 09:43:03.10 ID:a0vlFpjG0.net
- >>561
普通に extern static int CallBack(Func<int, int, int> callback, int x, int y); でいけるよ
ただしDllImportならコールバックが来る可能性がある間は渡したデリゲートオブジェクトが
絶対にGCされないようにこっち側で管理する必要がある
- 564 :名無しさん@お腹いっぱい。:2012/11/06(火) 10:04:52.58 ID:9NcogyaD0.net
- あれ、ついに.NET4.5でジェネリックのマーシャリングがサポートされるようになったの?
- 565 :563:2012/11/06(火) 11:19:30.39 ID:a0vlFpjG0.net
- ああすまん無理
- 566 :名無しさん@お腹いっぱい。:2012/11/07(水) 01:36:41.70 ID:xeiSNqCnO.net
- .NET4.5入ってるのに
古い.NETプログラムが起動しません
- 567 :名無しさん@お腹いっぱい。:2012/11/07(水) 02:13:35.31 ID:t4vk2ZFU0.net
- 左様ですか
- 568 :名無しさん@お腹いっぱい。:2012/11/07(水) 02:17:58.82 ID:8vrDwtTR0.net
- バージョンアップごとに必要ない命令とか消えたりマイナーチェンジしたりする事もあるし
まぁ必要ないって、メーカーが勝手に決めた感じだろうけど
- 569 :名無しさん@お腹いっぱい。:2012/11/07(水) 02:36:28.10 ID:wP2T4+LT0.net
- そういやWMPモジュール使ったソフトで、WMPのバージョン上がったら挙動も変わったよ
- 570 :名無しさん@お腹いっぱい。:2012/11/07(水) 09:52:18.48 ID:vaQSgjR80.net
- .NET3.5以前をターゲットにしたアプリは.NET4以降ではそのまま動かないよ
マニフェストファイルをいじる必要がある。
特になんか技術的な問題があるわけじゃなく意図的な制限で、
必ずしも100%の互換性は保証できないからテストしろボケというMSからのメッセージ。
Oracleとかほかの会社なら絶対にそんなことしないレベルの互換性はあるけどそこはMSだからな。
- 571 :名無しさん@お腹いっぱい。:2012/11/08(木) 02:52:01.14 ID:bz8NFcX40.net
- スルーされたのでここで教えてください
Sqlite+Entityでデータベース作ったんだけど
これをDataGridViewに表示するにはどうするの?
SQLiteのテーブルをDataGridViewにバインドしても
表示が更新されない
アプリ再起動したらちゃんと表示される
変更を即座にViewに反映したいんだけどどうすればいいですか?
- 572 :名無しさん@お腹いっぱい。:2012/11/08(木) 19:57:32.73 ID:6sKW/DkV0.net
- 「SQLite DataGridView bind」でヤフーでググレカス。
ttp://ap.atmarkit.co.jp/bbs/core/fdotnet/16939
- 573 :名無しさん@お腹いっぱい。:2012/11/08(木) 20:54:46.26 ID:bz8NFcX40.net
- そこも見ましたがDataSetをDataSourceにバインドしているんじゃなくて
DataTableを直接バインドしているんです
なのに反映されません
具体的には、SQLiteのテーブルをDataSetにD&D
DataGridViewのプロパティでD&DしたテーブルをDataSourceに設定
SQLite関係のコードは何も書いてません、Entityを操作しているだけです
Entityでデータベースを変更した場合、ビューに表示するまでのどこかで更新されていないと思うんですが・・・
- 574 :名無しさん@お腹いっぱい。:2012/11/08(木) 22:03:50.29 ID:cPbFhgLeO.net
- 一生懸命C#勉強してプログラム作る
↓
.NETバージョンアップ
↓
全部パー
こういう認識でよろしいですか?
- 575 :名無しさん@お腹いっぱい。:2012/11/08(木) 22:19:20.78 ID:AhHExoug0.net
- ビルドしたバージョンと同じバージョンの.NETが入ってれば動く
また既存の技術が使えなくなるわけじゃないので習得したスキルも無駄にはならない
- 576 :名無しさん@お腹いっぱい。:2012/11/08(木) 22:39:34.59 ID:cPbFhgLeO.net
- .NET4で作ったものは
4.5とか5になったらパーですか?
- 577 :名無しさん@お腹いっぱい。:2012/11/08(木) 22:50:53.77 ID:qHtPIF2L0.net
- お前の頭がパーならそうかもね
- 578 :名無しさん@お腹いっぱい。:2012/11/09(金) 00:02:02.58 ID:jXQl/LXe0.net
- スーテンウーとかウーの次はリュウでその次チーでその次がパーだよ
- 579 :名無しさん@お腹いっぱい。:2012/11/09(金) 22:38:09.25 ID:Yq3TG6pvO.net
- C#でAPIで1からウインドウ作れますか?
- 580 :名無しさん@お腹いっぱい。:2012/11/09(金) 22:51:54.47 ID:qOEkUJ4E0.net
- 作れるけど全く何の意味もないぞ
Formのウィンドウハンドル普通に取れるし
- 581 :名無しさん@お腹いっぱい。:2012/11/09(金) 22:59:07.64 ID:WSphD2g70.net
- javaで作られたものって1枚の画像として認識されるんだな
- 582 :名無しさん@お腹いっぱい。:2012/11/09(金) 23:14:31.93 ID:qOEkUJ4E0.net
- WPFもWin8ストアアプリもそうだよ
Swingはクロスプラットフォーム(笑)のためにそういう形になってるが、
最近はハードウェア描画をフル活用したいけどOSが全然追い付いてないってことで
ウィンドウ内部はOSに管理させずに自前でやる設計が多くなってる
- 583 :名無しさん@お腹いっぱい。:2012/11/09(金) 23:17:59.02 ID:mx0ZVWpj0.net
- >>581
まあ結局は先に一枚の画像に仕上げてVRAMへ転送するかVRAMに直接描くかだし
windowsVista以降はウインドウも3DCGで言えばテクスチャ状態だからな
- 584 :名無しさん@お腹いっぱい。:2012/11/10(土) 01:54:21.81 ID:jFrovpzLO.net
- .NET4で作ったプログラムは4.5で動きますかね?
- 585 :名無しさん@お腹いっぱい。:2012/11/10(土) 02:12:06.03 ID:91hPXMla0.net
- 環境があるならやってみなさい。
Hello worldで。
- 586 :名無しさん@お腹いっぱい。:2012/11/10(土) 02:30:06.15 ID:9x5TyNzm0.net
- 直さないと動かないモノも存在しているようだ
- 587 :名無しさん@お腹いっぱい。:2012/11/10(土) 04:05:17.86 ID:jFrovpzLO.net
- XPなんで4.5インストールできません(>_<)
- 588 :名無しさん@お腹いっぱい。:2012/11/10(土) 06:14:01.67 ID:A/zAe+92O.net
- 今時XPよりも安泰の7か安い8買うしかないわな
- 589 :名無しさん@お腹いっぱい。:2012/11/10(土) 11:13:13.34 ID:cqMtqC4r0.net
- .NET4から4.5はよっぽど変なことしてなければ100%動くはずだよ
4を置き換えてしまう更新なので互換性は2系(2.0,3.0,3.5)→4.0のときより厳格
- 590 :名無しさん@お腹いっぱい。:2012/11/10(土) 11:28:31.59 ID:b7/ZFjTd0.net
- ここのところ互換性をすげえ気にしてる奴がいるようだが
大丈夫だよ
お前は何一つ作り上げることはできないさ
- 591 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:08:52.42 ID:wcfboVoB0.net
- プログラマの立場で互換性に気を払わない奴こそ
何一つ作り上げることはできない
- 592 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:10:55.63 ID:S/ruX9mF0.net
- 気にしないのも不味いけど、気にしすぎるのもよくない。
いいから動かしてみろよ、って思う。
- 593 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:14:04.82 ID:FmT1vbsX0.net
- 動かなければ動くようにすればいいだけだからな
- 594 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:14:07.13 ID:wcfboVoB0.net
- 俺はそれを言ってる
- 595 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:14:48.88 ID:b7/ZFjTd0.net
- 最近の九官鳥はキーボード扱えるようになったらしいな
すごいね
- 596 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:16:06.34 ID:cqMtqC4r0.net
- むしろ.NETほど後方互換性が確保されたプラットフォームって他にあるか?
- 597 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:16:16.54 ID:xKsip/1ci.net
- >>591
下請け派遣雑魚は無理すんなよ
- 598 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:17:24.00 ID:wcfboVoB0.net
- おお!君が有名な九官鳥か!!
- 599 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:19:18.67 ID:b7/ZFjTd0.net
- 何だかんだ理由つけてやりたくないんだろ
なぜ無理してるのかが分からんよ
- 600 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:24:20.87 ID:wcfboVoB0.net
- やりたいとかやりたくないとかじゃなくて
C#が将来有で使える言語かどうかが知りたいだけなんです。
それ以外はいたって謙虚なものです。
- 601 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:25:37.04 ID:b7/ZFjTd0.net
- 将来って何年間?
- 602 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:27:21.19 ID:b7/ZFjTd0.net
- 本当に互換性だけでいいのなら、2度とバージョンアップがされなくなれば互換性は変わらない
しかし、そういうトンチめいた話がしたいわけではないだろう
- 603 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:40:34.79 ID:wcfboVoB0.net
- ちょっと待ってよ、君らがいくつか知らないけど
俺は.NETほど下位互換性のものは見たことがない
バージョンアップで互換性がなくなるのは数知れど見たけど
こんなに速いスパンでプログラムの起動すらできない
プログラムは見たことがない。
バージョンアップするにしても、もう少しその過程における
流れる時間というものがあるだろう
- 604 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:41:05.84 ID:xKsip/1ci.net
- もう有望も有望
超将来性ありまくり
って言ったら信用するわけ?
もし外れたら責任とらされるの?
他人のだしに使われるなんてたまんねーなー
- 605 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:42:40.27 ID:xKsip/1ci.net
- お前がそう思うならそれでいいじゃん
使わなければいい
結論は明快だろ?
- 606 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:45:14.02 ID:b7/ZFjTd0.net
- 何か齟齬があると思ってたけど理解できたわ
.NET4で.NET2向けにコンパイルしたプログラムが動かないのはおかしいって言ってんね
- 607 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:45:25.63 ID:/DSU3yg70.net
- 大体は対象プラットフォーム変えてビルドし直すだけで動くよ
- 608 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:49:59.29 ID:b7/ZFjTd0.net
- supportedRuntimeってのもある
- 609 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:54:44.17 ID:bkLwqFFS0.net
- >>606
「実行環境が 4 で、アプリが 2 だと動かないことがよくある」ってこと?
- 610 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:56:50.12 ID:b7/ZFjTd0.net
- >>609
「よくある」ってか明示的に指定しないと「必ず」動かないよ
http://d.hatena.ne.jp/tt_clown/20100923/1285234733
- 611 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:57:20.34 ID:FmT1vbsX0.net
- DLL HELLという歴史があるからなぁ
- 612 :名無しさん@お腹いっぱい。:2012/11/10(土) 12:58:45.21 ID:wcfboVoB0.net
- 対象プラットホームが分からない場合どうするんですか
かつてVisualBasicでさえ、当該ランタイムを一緒に配布すれば
それほどユーザーに負担をかけずにプログラムを実行できたのに。
お宅の環境で実行できなければ、WindowsUpdateを手当たり次第試してくださいなんて
どの口が言えるんだよ
- 613 :名無しさん@お腹いっぱい。:2012/11/10(土) 13:15:49.55 ID:bkLwqFFS0.net
- 手当たり次第じゃなくて、.NetFrameworkの4.0をとか2.0をインストールしてください。
とは言えるんじゃないだろうか。
むしろ最初に「どのような環境で実行できるようにいたしましょうか」と確認しておくといいんじゃないか。
- 614 :名無しさん@お腹いっぱい。:2012/11/10(土) 13:19:55.32 ID:b7/ZFjTd0.net
- >>612
そろそろ死ねよ
邪魔だ
- 615 :名無しさん@お腹いっぱい。:2012/11/10(土) 13:21:43.13 ID:wcfboVoB0.net
- ありがとうございました。
- 616 :名無しさん@お腹いっぱい。:2012/11/10(土) 13:21:45.98 ID:FmT1vbsX0.net
- 別にお客様は神様じゃない
- 617 :名無しさん@お腹いっぱい。:2012/11/10(土) 13:47:26.76 ID:10X/rMgA0.net
- C#の勉強をはじめて一週間。
まだメッセージボックス出して喜んでるレベルですけど。
javaと似てるなと思いました。
- 618 :名無しさん@お腹いっぱい。:2012/11/10(土) 13:48:38.34 ID:b7/ZFjTd0.net
- 元J#ですから
- 619 :名無しさん@お腹いっぱい。:2012/11/10(土) 14:23:54.63 ID:10X/rMgA0.net
- そいつは知りませんでした。
- 620 :名無しさん@お腹いっぱい。:2012/11/10(土) 17:42:25.31 ID:zryRr8O10.net
- ここはむしろ delphi こそ java のもとだと強く主張したい
- 621 :名無しさん@お腹いっぱい。:2012/11/10(土) 18:34:17.07 ID:9/kCEulA0.net
- begin
end
を考えたやつは最高にアホ
- 622 :名無しさん@お腹いっぱい。:2012/11/10(土) 18:50:04.19 ID:zryRr8O10.net
- >>621
LL(1) 文法で解析可能、ワンパスでコンパイル可能なためには必要だったのでは?
- 623 :名無しさん@お腹いっぱい。:2012/11/10(土) 21:59:06.31 ID:jFrovpzLO.net
- MFCって無料で使えますか?
- 624 :名無しさん@お腹いっぱい。:2012/11/10(土) 22:27:44.60 ID:cqMtqC4r0.net
- VSPro買わないとMFCは無理
- 625 :名無しさん@お腹いっぱい。:2012/11/11(日) 11:10:20.76 ID:O63qgx/E0.net
- MemoryStremに入ってるデータの最後の1バイトを
取り出すにはどうすればいいでしょうか?
- 626 :名無しさん@お腹いっぱい。:2012/11/11(日) 11:12:44.10 ID:RYP/qfSm0.net
- SeekしてからRead
- 627 :名無しさん@お腹いっぱい。:2012/11/11(日) 11:26:46.66 ID:O63qgx/E0.net
- ありがとう
できました
- 628 :名無しさん@お腹いっぱい。:2012/11/12(月) 22:11:55.20 ID:iEbZBYFgO.net
- ウインドウずプログラムミングは.NETに集約されると聞きました。
- 629 :名無しさん@お腹いっぱい。:2012/11/12(月) 22:52:18.95 ID:/CK0bqs90.net
- 気のせいです
- 630 :名無しさん@お腹いっぱい。:2012/11/23(金) 02:03:50.26 ID:DbPruXYC0.net
- 今更WPF触ってみたが意味不明すぎわろえない…
これ流行るの?
- 631 :名無しさん@お腹いっぱい。:2012/11/23(金) 03:12:52.12 ID:DQh3qZZ50.net
- 欠陥だらけで仕上げるの苦労するよ
フォームより新しいだけあって強力なクラスあるからフォームで流用してる
- 632 :名無しさん@お腹いっぱい。:2012/11/23(金) 16:42:30.88 ID:UFJIKELI0.net
- WPFはMVVMでないと作れないからな
- 633 :名無しさん@お腹いっぱい。:2012/11/23(金) 17:11:52.03 ID:YaK3c0IJ0.net
- もういいってw
- 634 :名無しさん@お腹いっぱい。:2012/11/24(土) 00:25:58.77 ID:nEJGtHJ/T.net
- ポトペタで張ってコードビハインドでも作れると何度言えばw
- 635 :名無しさん@お腹いっぱい。:2012/11/24(土) 00:44:55.05 ID:bi6DonzL0.net
- それでもできなくはないけど
それだとGUIに依存したコードになってしまって
保守性が低くなる
ロジックとGUIは分離すべき
MVVMがWPFをフルに活かせる
- 636 :名無しさん@お腹いっぱい。:2012/11/24(土) 00:46:37.00 ID:n24dSq+J0.net
- 寝ぼけんなugaya
- 637 :名無しさん@お腹いっぱい。:2012/11/24(土) 02:51:29.44 ID:x1F6gKMC0.net
- MVVMなんて全然流行ってないけど、ほんとに使ってる人いんの?
WPFで仕方なしに使う以外で
- 638 :名無しさん@お腹いっぱい。:2012/11/24(土) 04:03:25.60 ID:nEJGtHJ/T.net
- 源流にあたるMVCは30年以上前にSmalltalkで考案された。
MVCだとプレゼンテーションロジックの置き場所に困る事になって、解決策としてPMが生まれた。
MVVMはPMの亜種。PMの考えをWPFに持ち込んで、さらに双方向データバインドでビューとプレゼンテーションを分離したもの
そういうわけで、他の言語・環境でも別の名前の似たようなやつは使われまくってるけどMVVMとは呼ばれない。
- 639 :名無しさん@お腹いっぱい。:2012/11/24(土) 06:52:35.40 ID:Q9lwcH5x0.net
- ようやくサンプルが読めるレベルになってきた
どうも一番最初に読んだ解説サイトが自分にあってなかったっぽい
個人的にはMVVMによる保守性云々はどうでもいいがコントロールの自由度はかなり魅力的
- 640 :名無しさん@お腹いっぱい。:2012/11/25(日) 19:23:18.16 ID:vHti3GkX0.net
- そこだな、昔はGUIを使ったwindowsアプリを開発したこともないようなやつがデザインしてきた画面設計の為に
存在しないコントロールを0から作らされたり色々しんどかったのが、WPFで解消された
何だこの自由度はって感じ
しかし既存のコントロールのバグも受け継いでるので、datagridviewなんかはいまだに地雷ってのは同じだけど
- 641 :名無しさん@お腹いっぱい。:2012/11/25(日) 20:44:00.45 ID:db3RSTYy0.net
- まったくだな
素人が好き勝手デザインしたもんに書かされるほうはたまんねーよな
- 642 :名無しさん@お腹いっぱい。:2012/12/07(金) 11:09:32.65 ID:Mcgx5rjd0.net
- WebBrowserを使ってC#で自動でデータ入力送信させようとしているのですが、
<input id="btn_XXXX" onclick="postSetData();" value="変更" type="button" />
というのがあってこれを
HtmlElement he = wb.Document.GetElementById("btn_XXXX");
he.InvokeMember("onclick");
とするとサーバーの方のデータは書き換わってるのですが、画面が変化してくれません
どうすればいいですか?
- 643 :名無しさん@お腹いっぱい。:2012/12/07(金) 14:50:13.22 ID:GKe7AIet0.net
- >>642
これじゃね?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36020&forum=7
- 644 :名無しさん@お腹いっぱい。:2012/12/07(金) 15:36:13.39 ID:e973oFYp0.net
- lbl_status.Text = "AAA\r\nBBB";
とプログラムから設定しているのにフォームを開くと
設定した改行コードが文字列として表示されてしまいます。
何がまずいのでしょうか?
AAA\r\nBBB
- 645 :名無しさん@お腹いっぱい。:2012/12/07(金) 16:08:46.43 ID:3RguNEK20.net
- >>644
ラベルじゃなくてテキストボックス使ってくれ
その他マルチラインとかリードオンリーのプロバティーもセットしてね
- 646 :名無しさん@お腹いっぱい。:2012/12/07(金) 16:18:21.31 ID:e973oFYp0.net
- >>645
ラベル上で改行をしたいんです。
そして、付け加えるとプロパティからじゃなくて、プログラムからです。
- 647 :名無しさん@お腹いっぱい。:2012/12/07(金) 16:26:27.20 ID:3RguNEK20.net
- >>646
ラベルに複数行を表示する機能はないから、テキストボックスのプロバティーを弄って複数行表示ラベルのように振る舞う設定にするのが簡単ですよ
- 648 :名無しさん@お腹いっぱい。:2012/12/07(金) 16:34:55.54 ID:GKe7AIet0.net
- そんなことをするくらいならDrawStringするっしょ
- 649 :名無しさん@お腹いっぱい。:2012/12/07(金) 16:46:14.14 ID:Mcgx5rjd0.net
- >>643
ダメでした
でも参考になりました
他にもクリック等させてて、一連の操作を一気にしていたのが問題のようでしたので
それぞれの処理の間にSleep入れることでとりあえず動くようになりました
ありがとうございました
- 650 :名無しさん@お腹いっぱい。:2012/12/07(金) 17:07:05.13 ID:e973oFYp0.net
- >>647 >>648
ラベルに改行機能はなかったのね。残念!
- 651 :名無しさん@お腹いっぱい。:2012/12/07(金) 17:49:24.44 ID:5Vj/pCB50.net
- あれ?
System.Windows.Forms.Labelのことなら改行に対応してるっしょ?
- 652 :名無しさん@お腹いっぱい。:2012/12/07(金) 17:51:02.73 ID:1OvQx+8z0.net
- dobonググりながら答えてんだろ
- 653 :名無しさん@お腹いっぱい。:2012/12/08(土) 14:31:10.35 ID:fEkFdfqD0.net
- みみずん検索管理人が弁護士に依頼
http://anago.2ch.net/test/read.cgi/tubo/1290655108/
- 654 :名無しさん@お腹いっぱい。:2012/12/27(木) 15:39:38.06 ID:+lBUEZY/0.net
- ファイルのダウンロードをしたくてDownloadFileメソッドを使っているんですが、
参照設定などできているはずなのに使用できません。
どなたかお助けください。
- 655 :名無しさん@お腹いっぱい。:2012/12/27(木) 16:03:39.91 ID:WMIZyAdt0.net
- エスパーに祈るかコード片とエラーメッセージ書くか
- 656 :名無しさん@お腹いっぱい。:2012/12/27(木) 16:14:54.45 ID:+lBUEZY/0.net
- 'System.Net.WebClient' に 'DownloadFile' の定義が含まれておらず、
型 'System.Net.WebClient' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。
using ディレクティブまたはアセンブリ参照が不足しています。
参照は調べて追加したんですがこのエラーが出ます。
ほんとに素人なので聞き方変なのは申し訳ないです
- 657 :名無しさん@お腹いっぱい。:2012/12/27(木) 16:16:52.60 ID:ShF83f3+0.net
- クライアントプロファイルを止める
- 658 :名無しさん@お腹いっぱい。:2012/12/27(木) 16:38:23.82 ID:WMIZyAdt0.net
- クライアントプロファイルは関係ないが
Store向けアプリか何か?
- 659 :名無しさん@お腹いっぱい。:2012/12/27(木) 16:58:34.08 ID:+lBUEZY/0.net
- Store向けアプリではないです。
webdeveloper 2010 express でやっていて、
対象のフレームワークって変更できないんでしょうか
- 660 :名無しさん@お腹いっぱい。:2012/12/27(木) 17:52:18.31 ID:+lBUEZY/0.net
- 他の情報を考えてみようと思います。
ご回答ありがとうございました。
- 661 :名無しさん@お腹いっぱい。:2012/12/30(日) 20:04:39.51 ID:Odelqbq+0.net
- FindWindowで求めたハンドルからそのWindowを開いたプロセスを求める方法を教えて下さい
- 662 :名無しさん@お腹いっぱい。:2012/12/30(日) 20:10:30.74 ID:uJZi7Yvj0.net
- GetWindowThreadProcessId
- 663 :名無しさん@お腹いっぱい。:2013/01/20(日) 00:56:57.68 ID:c5R9KBoQ0.net
- TextBlock.Textの文字列の高さの最大値を知る方法を教えてくれ。
「Aaaaa」って値が設定されていた時のAの高さみたいなものを。
フォントサイズではなく。
状況としてはゲームのタイトル画面を作ってるんだが、
カーソルの画像の隣に文字列を書く際に、描画位置(Y座標)を文字列の下端にしたいわけ。
- 664 :名無しさん@お腹いっぱい。:2013/01/20(日) 18:16:32.87 ID:8v5uQWeM0.net
- XAML/C#でWindows8のストアアプリの開発をしています。
WebViewのある画面に遷移した時、フォーカスをWebViewにさせる方法がわからないので教えて下さい。
現状だと一度ウェブページをクリックしないとスクロールをすることができずとても不便です。
- 665 :名無しさん@お腹いっぱい。:2013/01/21(月) 00:51:29.26 ID:Q+hjazJU0.net
- >>664です。解決しました。
LoadStateメソッドに、
this.Loaded += delegate { this.Focus(FocusState.Programmatic); };
を入れることでフォーカスさせることができました。
今度はキー入力を受け付けたいけどEnterしか入力を認識してくれないです(泣)
- 666 :名無しさん@お腹いっぱい。:2013/02/14(木) 14:01:35.09 ID:cmM0rSj40.net
- 特定のエディタの入力を監視して、たとえばあるキーが押されたら別のキーを押した事にするっていうのはどうやるのでしょうか?
たとえばTerapadの編集画面にでaキーを押したらuが入力されるようにしたいんですが
キーカスタマイズソフト?っ低宇野を作りたいんです
- 667 :名無しさん@お腹いっぱい。:2013/02/14(木) 14:44:26.17 ID:z8m02sPc0.net
- .NETでグローバルフックは出来ない
正確に言えばやれば出来るけど、Hook対象が.NETアプリの場合問題があるからやらない方がいい
- 668 :名無しさん@お腹いっぱい。:2013/02/14(木) 14:47:59.28 ID:LSJDSwcq0.net
- マルチポストに答える必要はない。
- 669 :名無しさん@お腹いっぱい。:2013/02/14(木) 14:54:22.49 ID:cmM0rSj40.net
- >>668はきっと現実でいじめられている人なんだね
いいんだよ、僕は反論しないから
生暖かい目で見てる
- 670 :名無しさん@お腹いっぱい。:2013/02/14(木) 15:03:17.86 ID:LSJDSwcq0.net
- せめて低宇野を直してたら評価したんだがなw
- 671 :名無しさん@お腹いっぱい。:2013/02/15(金) 00:44:16.04 ID:gNbNajXG0.net
- 生暖かい目でいつまでも目的を達成できない自分を省みればいい
- 672 :名無しさん@お腹いっぱい。:2013/02/15(金) 19:33:02.72 ID:D5sMe+UJ0.net
- LLでフックしてkeybd_eventでいいんじゃね?
- 673 :名無しさん@お腹いっぱい。:2013/02/15(金) 21:56:00.43 ID:gNbNajXG0.net
- 666のレベルでは無理なので不可能
- 674 :名無しさん@お腹いっぱい。:2013/02/16(土) 03:51:52.15 ID:lUvSD2EG0.net
- ┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
- 675 :名無しさん@お腹いっぱい。:2013/02/18(月) 13:46:44.19 ID:rMawgzX20.net
- 俺もそろそろインタプリタのひとつやふたつ作ってみるかな
プログラミングを極めるにはインタプリタとOSを作らないと
だめらしいし。
- 676 :名無しさん@お腹いっぱい。:2013/03/24(日) 13:33:40.34 ID:KapQMj5C0.net
-
“【史上最悪の放送事故】” ウジテレビがまたやらかした!
21日放送の某番組で、無修正の“アレ”をモザイクかけずに放送!その時のキャプチャが話題に!”
http://twi.im/picture2013_0323_image_01_jpg (※キャプチャ)
↑
(゚A゚;)ゴクリ
- 677 :名無しさん@お腹いっぱい。:2013/03/24(日) 15:26:42.07 ID:Vrdpoqvc0.net
- ドットがない件
- 678 :名無しさん@お腹いっぱい。:2013/03/30(土) 17:00:26.43 ID:J1xoPH/40.net
- C#を使って特定ウィンドウダイアログ上の「×」ボタンをクリック
しようと思って書きコードを書いているのですが
うまく起動ダイアログの「×(閉じる)」ボタンをクリックする事が出来ません。
どうすればWindows API を使用して閉じる事が出来ますか?
IntPtr h = FindWindow(null, "自動再生");
IntPtr h6 = FindWindowEx(h, IntPtr.Zero, "Button", "×"); // ← ???
PostMessage(h6, WM_LBUTTONDOWN, 0, 0);
PostMessage(h6, WM_LBUTTONUP, 0, 0);
- 679 :名無しさん@お腹いっぱい。:2013/03/30(土) 17:55:18.60 ID:Lv6Cwwpb0.net
- ひんと WM_SYSCOMMAND SC_CLOSE SendMessage
- 680 :名無しさん@お腹いっぱい。:2013/03/30(土) 20:35:00.46 ID:X+NA68U40.net
- WM_CLOSE送れば良いだけのような
- 681 :名無しさん@お腹いっぱい。:2013/09/29(日) 15:18:00.13 ID:gko/+pXV0.net
- 動的に作成したコントロールに引数を追加する方法を探しています。
int i = 0;
while(true)
{
panel[i] = new Panel();
label[i] = new Label();
panel[i].Controls.Add(label[i]);
panel[i] += new EventHandler(panel_Click);
label[i] += new EventHandler(panel_Click);
this.Controls.Add(label[i]);
this.Controls.Add(panel[i]);
i++;
}
panel_Clickにiを渡したいのですが、方法がわかりません。
どうすれば出来ますか?
- 682 :名無しさん@お腹いっぱい。:2013/09/29(日) 15:28:08.55 ID:OA2LVmL60.net
- panel[i].Tag = i;
とかやっておけ
panel_Click側で
int i = (int)((Control)sender).Tag;
あるいはList<Panel>とか作っておいてAddしてハンドラでIndexOfするとか
- 683 :名無しさん@お腹いっぱい。:2013/10/10(木) 11:15:43.94 ID:1snkXya50.net
- ネイティブのDLLを含むカスタムコントロールを作って、
ツールボックスの所からフォームにドラッグ&ドロップすると
DLL 'csfml-graphics-2' を読み込めません: 指定されたモジュールが見つかりません。 (HRESULT からの例外: 0x8007007E)
って出てDLLがロードできないのですが、このDLLはプロジェクトのどこのフォルダーに置けばいいのでしょうか。
このDLLはLoadイベントで使用されて普通は bin/Debug の下に置いておけばロードしてくれます
- 684 :名無しさん@お腹いっぱい。:2013/10/10(木) 11:21:09.48 ID:Uh5twHTS0.net
- プログラム板の方で聞いた方がいいんじゃない?
その質問はクローズしてさ
- 685 :683:2013/10/10(木) 11:47:22.65 ID:1snkXya50.net
- 間違えました移動します
- 686 :名無しさん@お腹いっぱい。:2013/12/30(月) 14:30:51.92 ID:obnJ4aaJ0.net
- DomainUpDownはどんな場面で使うんだよ!
- 687 :名無しさん@お腹いっぱい。:2013/12/30(月) 21:09:59.19 ID:la4SoSmp0.net
- そういや使ったことないわ
むしろUpDownの単品の方が使うのに
- 688 :名無しさん@お腹いっぱい。:2014/02/09(日) 14:01:34.55 ID:Z03FKARZ0.net
- コンソールアプリで入力を受付てfor分で処理する記述をしてるんですが
int i = int.Parse(Console.ReadLine());
int n = int.Parse(Console.ReadLine());
for ( i ; i <= n; i++)
{
変数nは処理されるのですがi側は
エラー 1 割り当て、呼び出し、インクリメント、デクリメント、待機、および新しいオブジェクトの式のみがステートメントとして使用できます。
と怒られてビルド出来ないのですがどういうことなのでしょうか。。
- 689 :名無しさん@お腹いっぱい。:2014/02/09(日) 14:04:36.57 ID:qczysm+Q0.net
- 変数とかプロパティとかをただポンとおいたらエラーになる
forで初期化部使わないなら
for (; i <= ...
みたいに書く
- 690 :名無しさん@お腹いっぱい。:2014/02/09(日) 14:16:05.66 ID:Z03FKARZ0.net
- >>689
ありがとうございます!!
でも可読性はものごっつい悪そうですね。。。
まだまだ試行錯誤してみます!!
- 691 :名無しさん@お腹いっぱい。:2014/02/09(日) 15:53:11.22 ID:Z03FKARZ0.net
- using System;
namespace TESTEST
{
class Program
{
static void Main(string[] args)
{
int s = int.Parse(Console.ReadLine());
int e = int.Parse(Console.ReadLine());
for (s; s <= e; s++)
{
Console.WriteLine(s);
}
}
}
}
先程質問した>>688ですが>>689の意見に合わせて実装したのですがうまく行きませんでした。。。
私がやりたいのは外から入力を受け付けてfor文のloopを回したいのですが
他にどのようなミスがあるか教えて頂けませんでしょうか
mainメソッド内で定義されたlocal変数は同一メソッド内のfor文で使用できますよね・・・?
- 692 :名無しさん@お腹いっぱい。:2014/02/09(日) 16:13:29.94 ID:qczysm+Q0.net
- > >>689の意見に合わせて実装したのですが
してねぇじゃんよ
- 693 :名無しさん@お腹いっぱい。:2014/02/09(日) 16:29:47.75 ID:Z03FKARZ0.net
- >>692
エラーになったので今は元に戻ってます。。。
- 694 :名無しさん@お腹いっぱい。:2014/02/09(日) 16:32:40.61 ID:YHJGirag0.net
- for (; s <= e; s++)
こうしろっつってんだろ
- 695 :名無しさん@お腹いっぱい。:2014/02/09(日) 16:33:03.78 ID:qczysm+Q0.net
- なぜ
こう書いたらこういうエラーが出ました どうしたらいいですか
ではなく
こう書いたらエラーが出たので戻しました どうしたらいいですか
なのか
- 696 :名無しさん@お腹いっぱい。:2014/02/09(日) 16:53:44.62 ID:Z03FKARZ0.net
- 多くの皆様ありがとうございました、無事に動きました!
自分の技術も聞き方もまだまだ未熟なのに痛感しております。
次回はもっと正しく質問できるように努力します!ありがとうございました。
- 697 :名無しさん@お腹いっぱい。:2014/02/13(木) 00:52:44.55 ID:xLaB+3oR0.net
- ’A’ なんかかわいい
for( ; ; ) なんかかなしい
- 698 :名無しさん@お腹いっぱい。:2014/02/15(土) 14:55:25.39 ID:YebYsh/P0.net
- tes
- 699 :名無しさん@お腹いっぱい。:2014/02/19(水) 14:57:56.98 ID:TqJLLeeM0.net
- あ
- 700 :名無しさん@お腹いっぱい。:2014/03/16(日) 09:30:57.86 ID:h8LMu7pA0.net
- ム板がID出るようになって、このスレの存在意義がほぼなくなったな
- 701 :名無しさん@お腹いっぱい。:2014/05/02(金) 20:54:39.64 ID:iI9Mz64E0.net
- ここで質問したら?
- 702 :名無しさん@お腹いっぱい。:2014/05/03(土) 00:21:06.99 ID:RNg4P/7K0.net
- ギリ構造体あたりまで分かるけど、メモリ管理とかちんぷんかんぷんな俺でよければ
- 703 :名無しさん@お腹いっぱい。:2014/05/03(土) 06:01:41.03 ID:pwZCB3QH0.net
- >>701手とり足とり腰を据えてやりたいの
- 704 :名無しさん@お腹いっぱい。:2014/05/03(土) 10:07:57.50 ID:RlpOnpPP0.net
- 女子高生なら・・・
- 705 :名無しさん@お腹いっぱい。:2014/05/28(水) 09:57:21.01 ID:GU9PhCCA0.net
- L2TP/IPSecの接続状態を取得したいのですが
どうしたらいいでしょうか?
TCPのコネクションはIPHelperで取れるのですが
UDPではどうやればとれるのか・・・
- 706 :名無しさん@お腹いっぱい。:2014/08/30(土) 21:31:12.39 ID:usRFIVsf0.net
- 質問をよろしいでしょうか。
親クラスの静的メソッドでは派生クラスのTypeを取得することは不可能なのでしょうか。
- 707 :名無しさん@お腹いっぱい。:2014/09/23(火) 12:52:01.34 ID:SWOLWnxS0.net
- すみません。
StringBuilderに追加するときに特定の文字列だけ色変更ってできないんでしょうか?
- 708 :名無しさん@お腹いっぱい。:2014/09/23(火) 16:59:20.31 ID:iEKXqbIm0.net
- rtf
- 709 :名無しさん@お腹いっぱい。:2014/09/23(火) 18:09:55.15 ID:FsHrzKnw0.net
- >>707
君はまずそれが何かを調べなさい。
StringBuilderはGUIを前提としたクラスじゃないよ
- 710 :名無しさん@お腹いっぱい。:2014/11/17(月) 14:34:57.87 ID:oqStjezW0.net
- C-、C-、C-
- 711 :名無しさん@お腹いっぱい。:2014/11/17(月) 16:14:49.92 ID:1CK/qpjS0.net
- 噂の
- 712 :名無しさん@お腹いっぱい。:2014/11/17(月) 21:03:22.79 ID:/nWLdIkD0.net
- C C レモン
- 713 :名無しさん@お腹いっぱい。:2015/08/21(金) 23:41:57.33 ID:UQnQch7W0.net
- この中で見たい動画はありますか?
上野東京ライン常磐線関係の動画が満載です
https://www.youtube.com/results?search_query=%E4%B8%8A%E9%87%8E%E6%9D%B1%E4%BA%AC%E3%83%A9%E3%82%A4%E3%83%B3%E3%80%80%E5%B8%B8%E7%A3%90%E7%B7%9A%E3%80%80%E7%94%B0%E7%94%BA
- 714 :名無しさん@お腹いっぱい。:2015/10/02(金) 10:57:25.27 ID:7+Kldy7d0.net
- C#で 別のプロセス(コマンドライン)を起動させたいと考えています。
hogehoge.exe
実行後、パスワードを聞かれますが、これをC#で入力させるにはどうしたら良いですか?
標準出力に書き込んでも失敗します?
- 715 :名無しさん@お腹いっぱい。:2015/10/02(金) 10:58:24.24 ID:F4DPTfcl0.net
- 標準入力に
- 716 :名無しさん@お腹いっぱい。:2015/10/02(金) 14:53:00.72 ID:Koj+TDQh0.net
- いったいなんのパスワードなんだよハゲ
そんなのそのアプリケーションの仕様に依存するに決まってるだろ
いまどき標準入出力て……
- 717 :名無しさん@お腹いっぱい。:2015/10/13(火) 05:46:01.70 ID:z94DxKoy0.net
- エラーで、「; が必要です。」
って分かってたら自動で「;」を付けてくれや・・・
- 718 :名無しさん@お腹いっぱい。:2015/10/13(火) 09:48:26.70 ID:4SqkaAI80.net
- コンパイラさんが過労死するだろ
- 719 :名無しさん@お腹いっぱい。:2015/10/13(火) 22:06:36.36 ID:OtLkFU4S0.net
- 勝手に付けたら付けたで意図しない文区切りとなり、バグ取りで発狂するんだろ
- 720 :名無しさん@お腹いっぱい。:2015/10/21(水) 00:17:47.46 ID:uJfyaSY50.net
- WebBrowserでマウスホイールのスクロールが効かないんですけど、なんでです!?
Win7、IE11です。
- 721 :名無しさん@お腹いっぱい。:2015/10/21(水) 00:30:58.76 ID:uJfyaSY50.net
- 自己解決
IMessageFilterとApplication.AddMessageFilter使ってたから効かなかったみたいでしたような感じでした
- 722 :名無しさん@お腹いっぱい。:2015/11/01(日) 01:25:28.38 ID:waSraREu0.net
- ハロウィン.Dispose();
- 723 :名無しさん@お腹いっぱい。:2015/12/09(水) 03:26:06.69 ID:PKc1wW3t0.net
- 捕手
- 724 :名無しさん@お腹いっぱい。:2015/12/17(木) 11:32:34.85 ID:ig9F5Hts0.net
- 人いますか?質問です
同じContextMenu(コピー、貼り付け、切り取り、など)を
Form間で使いまわしたいのですが、どうしたら良いでしょうか?
やっぱりFormごとにContextMenuを作成しないとダメなんでしょうか?
- 725 :名無しさん@お腹いっぱい。:2015/12/17(木) 21:27:53.02 ID:xc4h4Sbu0.net
- まず、インスタンスを各フォームごとで共有するとなると、
それをどこでインスタンス化するかとか、どこで廃棄するかなど問題が複雑になることが多いね。
各フォームのスレッドが異なっていたりするともっと複雑化するし
おすすめは定形的なサブアイテムを含むContextMenuStrip(だよね?)を実体化してくれる
ファクトリークラスを作ること。
作成要求でまったく新規に作るかキャッシュを返すかは仕様次第で決める感じで。
それをform.ContextMenuStrip = ContextMenuFactory.Create();
みたいな感じで設定するといいんじゃないかな
- 726 :名無しさん@お腹いっぱい。:2015/12/24(木) 02:05:40.36 ID:c4GSHjqo0.net
- クリスマス.Dispose();
クリスマス = null;
- 727 :名無しさん@お腹いっぱい。:2015/12/25(金) 11:09:26.34 ID:ykhr84m40.net
- BASIC育ちの週末プルグラマーです
この意味がわかりません
---
var p = new { x = 10, y = 20, z = 30 };
---
変数Pの中に、XとYとZが入っていて
p.xで取り出せる、という解釈でいいんでしょうか。
ご教示ください。
- 728 :名無しさん@お腹いっぱい。:2015/12/25(金) 18:04:35.63 ID:ykhr84m40.net
- 事故解決しました
列挙型です
- 729 :名無しさん@お腹いっぱい。:2015/12/25(金) 19:12:48.77 ID:4/0q001v0.net
- え?
- 730 :名無しさん@お腹いっぱい。:2015/12/25(金) 19:37:57.91 ID:jM5ihmIg0.net
- >>727
こういう書き方あるんだ
- 731 :名無しさん@お腹いっぱい。:2016/01/01(金) 06:04:03.16 ID:l/SavOxP0.net
- >>728
匿名型という物があるんだよ…
- 732 :名無しさん@お腹いっぱい。:2016/02/17(水) 17:16:11.97 ID:3rE13AAM0.net
- 下記のサイトにあるObjectViewer-20080530.zipというC#のソースについて質問です。
ttp://wikki.sakura.ne.jp/gir−lab/?Object%20Viewer
VisualStudio2015で実行しようとすると、次の部分でエラーが出て実行できません。
場所)foreach (var ko in kobj.Objects)
内容)型 'System.NullReferenceException' のハンドルされていない例外が ObjectViewer.exe で発生しました
追加情報:オブジェクト参照がオブジェクト インスタンスに設定されていません。
動くようにするにはどこをどう直せばいいですか?
よろしくお願いします。
- 733 :733:2016/02/17(水) 17:18:26.69 ID:3rE13AAM0.net
- 補足1
>場所)foreach (var ko in kobj.Objects)
実行しようとすると、inの所が黄色くなって733のエラーが出ます
補足2
URLが書き込めなかったので、URLは全て全角英数にしました。
よろしくお願いします。
- 734 :733:2016/02/17(水) 23:10:01.64 ID:3rE13AAM0.net
- >>732-733の質問は取り下げます
ありがとうございました
- 735 :名無しさん@お腹いっぱい。:2017/01/04(水) 23:28:19.55 ID:tHfYRQjD0.net
- 質問させてください。
みなさんMVCやMVVMといったUIアーキテクチャの知識はどのように勉強しましたか?
ネットの情報をあさっているのですが、いまいちぼんやりとしてどう実装していいのか悩んでいます
なにかよい書籍やサイトがあれば教えていただきたいのですが、よろしくお願いします。
Windows Formで開発しています。
- 736 :名無しさん@お腹いっぱい。:2017/01/04(水) 23:49:01.53 ID:tHfYRQjD0.net
- すみません、プログラム板のほうに書き直します。
736の質問はとりさげます。
総レス数 736
192 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★