ふらっとC#,C♯,C#(初心者用) Part44
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/08/28(金) 14:57:21「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
前スレ
ふらっとC#,C♯,C#(初心者用) Part43
http://pc12.2ch.net/test/read.cgi/tech/1248573707/
0002デフォルトの名無しさん
2009/08/28(金) 14:58:19C#, C♯, C#相談室 Part54
http://pc12.2ch.net/test/read.cgi/tech/1250911923/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4
http://pc12.2ch.net/test/read.cgi/tech/1245384489/
----参考サイト
http://www.google.co.jp/
http://msdn.microsoft.com/ja-jp/library/default.aspx
http://homepage3.nifty.com/midori_no_bike/CS/
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
http://dobon.net/vb/dotnet/
http://jeanne.wankuma.com/tips/
http://www.labasp.net/CsharpNote/
0003デフォルトの名無しさん
2009/08/28(金) 15:39:52乙
0004デフォルトの名無しさん
2009/08/28(金) 15:51:24どういう背景でこのような呼び方をするのですか?
エラー、ノットエラーみたいな呼び方でいいのに…。
0005デフォルトの名無しさん
2009/08/28(金) 15:55:41リストボックスの内容を書き出す方法は、本に書いていましたが…。
0006デフォルトの名無しさん
2009/08/28(金) 16:10:40監視
{
}
確保
{
{
ーがいいと思う
0007デフォルトの名無しさん
2009/08/28(金) 16:11:50なんて本?
0008デフォルトの名無しさん
2009/08/28(金) 17:17:07うちの、
秀和かソシム?の逆引き向けの本です。
今、歯医者にいますので、うちに着いたら正式なタイトルを書きます。
0009デフォルトの名無しさん
2009/08/28(金) 18:11:160010デフォルトの名無しさん
2009/08/28(金) 18:32:56WPFは必要性を感じるまでやんなくていい
0011デフォルトの名無しさん
2009/08/28(金) 18:55:55本屋のC♯の本を全て見たけど、どれも内容だけ書いていて、メリットや用途について書いていなかったです。
教えてください(>_<)。
0012デフォルトの名無しさん
2009/08/28(金) 19:06:370013デフォルトの名無しさん
2009/08/28(金) 19:13:54慣れないうちは意識して明示的に使うことは無いかもしれませんが,
イベントやLINQの裏方として多用されています。
0014デフォルトの名無しさん
2009/08/28(金) 19:20:50自分でコーディングしたことないけど使ってるの?
もしかして別のクラスにコード記述がなされてるの?
0015デフォルトの名無しさん
2009/08/28(金) 19:33:56button1.Click += new EventHandler(button1_Click);
これがまさしくデリゲート。EventHandlerデリゲートのオブジェクトを作って
button1.Clickイベントに渡している。
0016デフォルトの名無しさん
2009/08/28(金) 20:08:36ありがとうo(^-^)o。
僕たちが直にコーディングするときもあるの?
0017デフォルトの名無しさん
2009/08/28(金) 20:10:28javaとC♯ではどちらがお勧め?
0018デフォルトの名無しさん
2009/08/28(金) 20:22:220019デフォルトの名無しさん
2009/08/28(金) 20:24:56イベントハンドラを手で登録することはよくある。
明示的な「関数を引数に取る関数」の例は,list.RemoveAll(x => x.IsHoge) みたいなのがある。
x => x.IsHoge という関数をRemoveAllの引数に渡してるわけ。これにもデリゲートが使われてる。
>>17
Windows限定なら断然C#
0020デフォルトの名無しさん
2009/08/28(金) 20:27:56…どういうときに…意識的にデリゲートを使うのだろうか…。
おいおい分かってくるのだろうか…。
0021デフォルトの名無しさん
2009/08/28(金) 20:44:34void Hoge(Action<Foo> 差し替え可能な処理) {
var foo = 共通の前処理();
差し替え可能な処理(foo);
共通の後処理(foo);
}
みたいな
0022デフォルトの名無しさん
2009/08/28(金) 20:45:570023デフォルトの名無しさん
2009/08/28(金) 21:04:04class Host
{
public delegate Meal MakeMealDelegate();
public MakeMealDelegate MakeMeal;
void Serve(Guest guest)//客をもてなす
{
Meal meal = MakeMeal(); //料理を作る。
Cater(guest, meal); //料理を客に出す。
}
}
ここで、3つの料理法があったとする。
Meal MakeItalian(){.......}
Meal MakeFrench(){......}
Meal MakeJapanese(){......}
すると、
Host host = new Host();
host.MakeMeal = MakeFrench; //フランス料理でもてなす。
//host.MakeMeal = MakeItalian;//イタリア料理でもてなす。
//host.MakeMeal = MakeIJapanese;//日本料理でもてなす。
host.Serve(guest);
というように、delegateを使うと、どの料理方法を使って料理を
作るかをHostに対して指定できるようになる。
0024デフォルトの名無しさん
2009/08/28(金) 21:08:50あなた素晴らしい人だよ。
一緒に仕事したい。
0025デフォルトの名無しさん
2009/08/28(金) 21:19:05日付入力欄がたくさん必要ですが、
いろんな入力パターンに対しても受け入れたいと考えています。
例えば2009年9月1日ならば、
20090901
090901
0901
2009.09.01
2009.09.1
2009.9.01
2009.9.1
09.09.01
09.09.1
09.9.01
09.9.1
9.09.01
9.09.1
9.9.01
9.9.1
9.1
(.がスラッシュのときも同様に認識)
H210901
H21.09.01
H21.09.1
H21.9.01
H21.9.1
(.がスラッシュのときも同様に認識)
このとき、一般的にどのような仕組みが作られているのでしょうか?
0026デフォルトの名無しさん
2009/08/28(金) 21:21:470027デフォルトの名無しさん
2009/08/28(金) 21:23:08少なくとも俺が>>23的なデリゲートの使い方があまり好きになれない理由の一つは、
>23の例で言えば、例えば「今どの料理を出すモードか?」を表すプロパティが
必要になったときスマートにいかないからだね。
恐らくほとんどのプログラマは認めないと思うが、
こんな場合は泥臭くてもswitchで分岐した方が結局分かりやすいように思える。
そういう必要がない純粋なディスパッチャーを記述する場合にはデリゲートで
いいと思うんだけど。
0028デフォルトの名無しさん
2009/08/28(金) 21:27:010029デフォルトの名無しさん
2009/08/28(金) 21:45:31Hostクラスに料理に関してどれほどの自由度を与えるか、の問題だね。
イタリア料理、日本料理、フランス料理の調理能力をHostに与えたとして、
いざ、中華をださなきゃならんというときに、Hostクラスをいじくらなきゃならなくなる。
それならいっそのこと最初からdelegeteの形で外部から料理人を雇ってしまおう、
という発想だね。
0030デフォルトの名無しさん
2009/08/28(金) 22:00:00言いたいことは分かるけど、
それならComparison<T>の使われ方みたいな例を挙げた方がよかったんじゃないのかな。
現実問題、>>23みたいな話でそれほどの柔軟性が必要性な例はあまりないと思う。
0031デフォルトの名無しさん
2009/08/28(金) 22:19:34デリゲートに書き換えただけのような感じがする
0032デフォルトの名無しさん
2009/08/28(金) 22:43:10正規表現って何?
0033デフォルトの名無しさん
2009/08/28(金) 22:53:570034デフォルトの名無しさん
2009/08/28(金) 23:01:550035デフォルトの名無しさん
2009/08/28(金) 23:15:460036デフォルトの名無しさん
2009/08/28(金) 23:22:250037デフォルトの名無しさん
2009/08/28(金) 23:35:350038デフォルトの名無しさん
2009/08/29(土) 00:16:32というコーディングの、(TreeView)は何を意味しているのですか?
0039デフォルトの名無しさん
2009/08/29(土) 00:17:420040デフォルトの名無しさん
2009/08/29(土) 00:20:570041デフォルトの名無しさん
2009/08/29(土) 00:28:520042デフォルトの名無しさん
2009/08/29(土) 00:31:41expression tree にできる
0043デフォルトの名無しさん
2009/08/29(土) 00:31:570044デフォルトの名無しさん
2009/08/29(土) 00:43:10慣れるとdelegateよりも見るのが楽。
0045デフォルトの名無しさん
2009/08/29(土) 01:07:59[Category("表示")]
[DefaultValue(typeof(Color), "Black")]
[Description("あああ")]
public Color BorderColor
{
…
というコードの中の、
[・・・]
は何を意味しているのですか?
0046デフォルトの名無しさん
2009/08/29(土) 01:11:540047デフォルトの名無しさん
2009/08/29(土) 01:17:43属性…どういうときに使うの?
本に書いていないんです(+_+)。
0048デフォルトの名無しさん
2009/08/29(土) 01:19:490049デフォルトの名無しさん
2009/08/29(土) 01:21:050〜Zまでの表示にしたいと思っています。
このような場合、どのようなコーディングが適しているでしょうか。
よろしくお願いします。
0050デフォルトの名無しさん
2009/08/29(土) 01:24:440051デフォルトの名無しさん
2009/08/29(土) 01:26:24書いてから寝言言えボケカスゴミクズ
0052デフォルトの名無しさん
2009/08/29(土) 01:27:130053デフォルトの名無しさん
2009/08/29(土) 01:38:05どうしても分からない所だけ聞いたらいいよ
0054デフォルトの名無しさん
2009/08/29(土) 01:40:20たまに罠仕込む奴がいるが
0055デフォルトの名無しさん
2009/08/29(土) 01:48:54ところで、あなたは開発経験どれくらいですか?
0056デフォルトの名無しさん
2009/08/29(土) 01:53:250057デフォルトの名無しさん
2009/08/29(土) 01:59:24頭悪いのかな
0058デフォルトの名無しさん
2009/08/29(土) 02:05:410059デフォルトの名無しさん
2009/08/29(土) 02:14:39データグリッドビューのデータを書き出すのは本に書いていました。
0060デフォルトの名無しさん
2009/08/29(土) 02:21:190061デフォルトの名無しさん
2009/08/29(土) 02:27:10{
string str = string.Empty;
char[] d = {'0', '1','2','3','4','5','6','7','8','9',
'a','b','b','d','e','f','g','h', 'i','j','k','l','m','n','o','p','q','r','s','t','u','v'};
ulong _base = 32;
do
{
str += d[n % _base];
}
while ((n /= _base) != 0);
char [] strArray = str.ToCharArray();
Array.Reverse( strArray );
return new string( strArray );
}
このサイトのCをC#に焼きなおしてみた。
http://paranoids.sakura.ne.jp/kaworu/2008-06-14-2.php
ケチのつけどころは多々あるが、そこは適当に直してくれ。
サイトの結果を信じるならば、これであってるはず。
0062デフォルトの名無しさん
2009/08/29(土) 02:38:48なるほど。
24進数でも36進数でも応用が効くね。
0063デフォルトの名無しさん
2009/08/29(土) 02:42:250064デフォルトの名無しさん
2009/08/29(土) 02:47:22貴殿ならどうやるか示せ。
0065デフォルトの名無しさん
2009/08/29(土) 02:51:240066デフォルトの名無しさん
2009/08/29(土) 03:01:59もったいぶらないで教えてよ。
0067デフォルトの名無しさん
2009/08/29(土) 03:08:33私は1ヶ月ですが。
0068デフォルトの名無しさん
2009/08/29(土) 03:16:010069デフォルトの名無しさん
2009/08/29(土) 04:44:08つやつやリキッドファンデーションでも塗っとけ。
0070デフォルトの名無しさん
2009/08/29(土) 09:39:160071デフォルトの名無しさん
2009/08/29(土) 10:07:59破壊の目安はぐぐれ
0072デフォルトの名無しさん
2009/08/29(土) 11:10:46>>58で剰余をyield returnしてLSDから順に取りだす。
得られたシーケンスをReverse, Select, ToArrayして、String.Concat
0073デフォルトの名無しさん
2009/08/29(土) 11:19:49でないと先生が読めない
0074デフォルトの名無しさん
2009/08/29(土) 12:16:22「オブジェクト指向」の意味を本で調べましたが、
何を読んでも、
COBOLなどの「サブルーチン」や「共通ルーチン」に、デザイン上の汎用コントロールを付け加えたもの
という意味を言っているように見えて仕方がないんです。
けどCOBOLはオブジェクト指向ではありませんし…。
オブジェクト指向言語とCOBOLとの決定的なちがいは何でしょうか?
0075デフォルトの名無しさん
2009/08/29(土) 12:33:57> COBOLなどの「サブルーチン」や「共通ルーチン」に、デザイン上の汎用コントロールを付け加えたもの
に見えてしまうんだ?
0076デフォルトの名無しさん
2009/08/29(土) 12:41:23しかし、そのBackgroundimageプロパティが「System.Drawing.Bitmap」という汎用的な定義になっており、
かつ、その画像のありかが分かりません。
これは、ソース一式をくれた彼が、画像をリソースに追加せずにローカルPCの画像を
Backgroundimageに表示させていたからこうなったのでしょうか。
同じような経験をお持ちの方、教えていただけないでしょうか。
0077デフォルトの名無しさん
2009/08/29(土) 12:42:56結局オブジェクト指向は、
「共通部分をパッケージ化する」みたいな意味合いに見えるんです。
なので、サブルーチンのようなものではないかと…。
けど、それだったら昔からあるCOBOLもオブジェクト指向になってしまいますもんね
(-_-;)。
0078デフォルトの名無しさん
2009/08/29(土) 13:04:340079デフォルトの名無しさん
2009/08/29(土) 13:05:50なのであるデータがどう弄られているかを知りたい時、そのデータが所属するクラス内を見るだけで済みます。
オブジェクト指向言語で無い場合、スコープの範囲で調べる必要がでます。
0080デフォルトの名無しさん
2009/08/29(土) 13:13:37まず「クラスとは何者か?」を理解する。
「オブジェクト指向とは何か」を考えるのはそれからでいい、というより、
君がノイマンみたいな天才でもない限り、いきなり抽象論から理解しようとするのは
無理がある。
0081デフォルトの名無しさん
2009/08/29(土) 13:26:08>>76
それ実行したら画像は表示されるの?
0082デフォルトの名無しさん
2009/08/29(土) 13:31:10もらった状態でデバッグすると画像は表示されますが、一度、画像「なし」にしたり、他の画像に変えてしまうと、元にもどらなくなってしまうんです。
0083デフォルトの名無しさん
2009/08/29(土) 13:34:14中にバイナリが Base64 あたりで入ってるかと。
0084デフォルトの名無しさん
2009/08/29(土) 13:38:41クラスというかオブジェクトが何かをするという、そのオブジェクトの組み合わせでプログラムが動くイメージ。
でもこんな書き方で誤解なく意図が伝わるのは元々ちゃんと理解出来てるやつだけなので意味なし。
0085デフォルトの名無しさん
2009/08/29(土) 13:59:59ありがとうございます。
resxファイルの中に、3つのGIFファイルがありました。
これら全てをリソースにインポートしてみましたが、
どのファイルを指定しても、元には戻りません…。
0086デフォルトの名無しさん
2009/08/29(土) 14:11:33何がしたくて何を困ってるのかいまいちよく理解できないが、
とありあえず(手を入れる前の)元のコードのInitializeComponent()の
中のコードはちゃんと見た上で言ってるの?
0087デフォルトの名無しさん
2009/08/29(土) 14:26:26元のコードのInitializeComponent()を見ても、
どの画像を引用しているかが記述されていません。
リソースファイルではなく、画像が埋め込まれている…のかもしれませんが、
その埋め込まれている画像をリソースファイルに格納し、他のコントロールでも活用したいんです。
0088デフォルトの名無しさん
2009/08/29(土) 14:42:44質問はプログラム板じゃなくてオカルト板ですべき。
0089デフォルトの名無しさん
2009/08/29(土) 15:05:00うむ。
存在しない画像を読み込むわけがない。
組み込み画像とリソースファイルの区別は俺も全く理解できていないが。
というか難しい。
0090デフォルトの名無しさん
2009/08/29(土) 15:09:54GetMainForm().funk();
のようなことがしたいんです
どうやって親のメインフォームでインスタンスを作ってある複数のユーザーコントロールにアクセスすればいいんですか?
0091デフォルトの名無しさん
2009/08/29(土) 15:11:41funk(){
GetMainForm().UC2.funk();
}
}
間違えましたやりたいのはこれです。
0092デフォルトの名無しさん
2009/08/29(土) 15:20:06ユーザーコントロールのコンストラクタに親のインスタンスを渡したりすればできるけど,
基本的にはそういうことをしなくていいように作るべき
0093デフォルトの名無しさん
2009/08/29(土) 16:02:50どうして、「しなくていいように作るべき」なのかを説明しといたほうがいい。
>>90
ユーザコントロールから他のコントロールの処理を呼び出すというのは、その
コントロールが「閉じていない」という証拠。他のコントロールの仕様を変えた
ときにこっちのコントロールまで影響が出る。
くわしくは「オープンクローズドの原則」という用語をググってくれ。
んで、ダメダメな設計の見本のようなものだから、そもそも設計から見直せ
と言われているわけだ。俺も見直せと、そう思う。
0094デフォルトの名無しさん
2009/08/29(土) 16:03:21>>90はプログラミングのセンスなさ過ぎる。
0095デフォルトの名無しさん
2009/08/29(土) 16:08:27まあ、設計の見直しが必要ということには変わりない。
0096デフォルトの名無しさん
2009/08/29(土) 16:12:31どこが悪いかだけ書けばいいのであって人格攻撃は問題だと思う。
0097デフォルトの名無しさん
2009/08/29(土) 16:26:41それはない。
もちろん最初からダメな理由に言葉を与えることまではできないと思うが、
それなりに適性がある人間なら、グラフでいう枝がなるべく少なくなるような
コードを書いた方が理解しやすいことは最初から直感的にわかる。
0098デフォルトの名無しさん
2009/08/29(土) 17:28:00例えばボタンコントロール。
押された時他のクラスのメソッドを呼び出したい
と思っても何の不思議もない。
もちろん直接参照はできないからイベントを使うというように
閉じたままで実現する手法があるわけだが、
ボタンを押したときに他のクラスの処理が呼ばれるという
事実そのものに問題があるわけではない。
そりゃ元質問者がそういったところを理解できるようになるかは分からんが、
今の段階じゃ単に望ましい実現手法や考え方を知らないだけかもしれない。
.NETでのプログラミング歴がそれなりにあったうえでこの質問だと
ちょっと怪しいけどな。
0099デフォルトの名無しさん
2009/08/29(土) 17:35:040100デフォルトの名無しさん
2009/08/29(土) 18:19:46けど、ある一つを最背面にしたら、めちゃくちゃになった。
これってzオーダーって言うんだよね。
皆さんはどうやって直してますか?
0101デフォルトの名無しさん
2009/08/29(土) 18:40:14このコーディングのどこがだめなのですか?
短大卒の1年目です。
0102デフォルトの名無しさん
2009/08/29(土) 18:56:31意味ある名前つけるのがお作法だけど、
IDE の生成した名前のまま変えてないっていう。
0103デフォルトの名無しさん
2009/08/29(土) 18:59:030104デフォルトの名無しさん
2009/08/29(土) 19:00:030105デフォルトの名無しさん
2009/08/29(土) 19:00:22テキストボックスを直接外から触ってるのも問題。カプセル化が全くできていない。
0106デフォルトの名無しさん
2009/08/29(土) 19:37:34もっと分かりやすく説明してちょうだい!!
0107デフォルトの名無しさん
2009/08/29(土) 19:38:58結局デリケートは、サブルーチンを呼ぶサブルーチンを呼ぶサブルーチンを1オブジェクトのように見立てるようなもの?
0108デフォルトの名無しさん
2009/08/29(土) 19:51:130109デフォルトの名無しさん
2009/08/29(土) 19:54:54バグってる
0110デフォルトの名無しさん
2009/08/29(土) 20:05:35・下痢気味のとき…ドラッグストアでアセロラエキス入りドリンク
・睡眠不足のとき…ローソンでユンケル1,000円クラス
・セサミンを飲んだあとのとき…ローソンでチオビタ
こういう場合に、
「栄養ドリンクをどこかに買いに行かせる」
というデリゲートを組めば、有益ということか?
で、パラメータとして、
睡眠不足とか下痢気味とかセサミンとかを与えるという感じ?
0111デフォルトの名無しさん
2009/08/29(土) 20:11:360112デフォルトの名無しさん
2009/08/29(土) 20:14:200113デフォルトの名無しさん
2009/08/29(土) 20:38:22これってどういうこと?
セサミンって危険なの??
>>92
自分で渡さないとたどれないんですね。メインフォームでUC1とUC2のインスタンスが作ってあるんで
メインフォームさえ取得できればと思ったんですが、それでもだめですか?そういう命令はありませんか?
この場合ユーザーコントロールの中の使いたいインスタンスはメインフォームに持って行ったとしても分離できてないのは変わらないと思うんですが、
もう一歩どうすればいいんですか
ただ単にコードを重複させたくないので他のUCのコードを使いまわしたいがために呼ぶんですが
0114デフォルトの名無しさん
2009/08/29(土) 20:40:560115デフォルトの名無しさん
2009/08/29(土) 21:01:54Class MainForm{
UC UCinst;
MainForm(){
UCinst = this;
}
}
Class UC{
MainForm mfinst;
UC(){
mfinst = new MainForm();
}
}
全然インテリセンスが通りません。連絡し合いたいですお願いします。
0116デフォルトの名無しさん
2009/08/29(土) 21:12:10おのろけでしょうか
0117デフォルトの名無しさん
2009/08/29(土) 21:15:340118デフォルトの名無しさん
2009/08/29(土) 21:15:53意味はサッパリ分からないけど、もしかしてこうしたいのか?
public class MainForm {
UC UCinst;
public MainForm() { UCinst = new UC(this); }
}
class UC {
MainForm mfinst;
public UC(MainForm parent) { mfinst = parent; }
}
0119デフォルトの名無しさん
2009/08/29(土) 21:19:38ってエラーになるだろ?
0120デフォルトの名無しさん
2009/08/29(土) 21:26:42マミ乙
0121デフォルトの名無しさん
2009/08/29(土) 21:31:44インテリセンスが通りました。後少しなんです。
UCに張り付けてあるテキストボックスをpublicにしてもUC.textbox
が通りません最後にこれだけお願いします
UC.Controls.でもテキストボックスがインテリに出てきません
0122デフォルトの名無しさん
2009/08/29(土) 21:36:16c#をやりはじめてもう1か月経つのに。
0123デフォルトの名無しさん
2009/08/29(土) 21:38:060124デフォルトの名無しさん
2009/08/29(土) 21:39:490125デフォルトの名無しさん
2009/08/29(土) 21:47:55MSDNのWebExceptionのサンプルはスルーしてる
http://msdn.microsoft.com/ja-jp/library/system.net.webexception.response%28VS.80%29.aspx
Response.Close()には使い終わったら閉じろカスと書いてある
http://msdn.microsoft.com/ja-jp/library/system.net.webresponse.close%28VS.80%29.aspx
0126デフォルトの名無しさん
2009/08/29(土) 21:51:20インテリセンスが通らないじゃなくって、
ちゃんと実現方法を考え、理解した上でやった方が良いと思う。
じゃないと、会社入ってからロクな仕事まわって来ないぞ。
0127デフォルトの名無しさん
2009/08/29(土) 22:13:580128デフォルトの名無しさん
2009/08/29(土) 22:44:44ちらりと見た感じmyHttpWebResponseと同じ参照を返してるだけなんじゃないのかな。
HttpWebResponse myHttpWebResponse = (HttpWebResponse) myHttpWebRequest.GetResponse();
それならCloseはmyHttpWebResponseに対してすれば足りる。
例外処理だからGCに任せてるのだと思うけど、例外時の後片付けもしたいなら
finallyでmyHttpWebResponse.Close();を実行すべきなのだろう。
0129デフォルトの名無しさん
2009/08/29(土) 22:53:21GetResponseで例外が出たらmyHttpWebResponseに値格納できないぜ
0130デフォルトの名無しさん
2009/08/29(土) 23:17:350131デフォルトの名無しさん
2009/08/30(日) 00:30:49プロジェクトB(メインフォームを収納)でプロジェクトAのフォームを継承したフォームを作成しました。
プロジェクトA内に作成したユーザーコントロールは、
今まではプロジェクトを追加したただけで、デザイン画面の左側にユーザーコントロールのアイコンが表示されていたのですが、
新しいプロジェクトを追加しても表示されなくなりました。
参照設定は常にプロジェクトAを参照するようにしています。
なぜ、ユーザーコントロールが他プロジェクトでも使用できるようにならなくなったのでしょうか。
すみませんがよろしくお願いします。
0132デフォルトの名無しさん
2009/08/30(日) 01:16:49リセットすれば直ったような気がしたけど。
若しくは手動で追加してやるか
0133デフォルトの名無しさん
2009/08/30(日) 01:20:16通常、DataSet と併用して XML ファイルに複数レコードのデータを出力すると以下のようになります。
<NewDataSet>
<Table01>
<Item01>...</Item01>
</Table01>
<Table01>
<Item01>...</Item01>
</Table01>
</NewDataSet>
これをたとえば以下のようなファイルから、上記のようなファイルから読み取ったときと同様に
DataTable に入力させることは可能でしょうか。
<NewDataSet>
<Item01>...</Item01>
<Item01>...</Item01>
</NewDataSet>
もともと下のようなファイルを一部に使用していたらしいのですが、プログラムを修正する際に
他のファイル(上の例)と同じように扱えるようにしたいと考えています。
すでに上のような書式に書き換えることは了解させたのですが、あまり変更を入れたくないようなので
可能なら下のようなファイルをそのまま上のような場合と同様に扱えないかと思っています。
ご教示いただけないでしょうか。よろしくお願いします。
0134133
2009/08/30(日) 01:22:23間違い
<NewDataSet>
<Item01>...</Item01>
<Item01>...</Item01>
</NewDataSet>
正しい
<NewDataSet>
<Table01>
<Item01>...</Item01>
<Item01>...</Item01>
</Table01>
</NewDataSet>
0135デフォルトの名無しさん
2009/08/30(日) 01:46:43ありがとうございます。
今まで2アプリケーションを作成しましたが、
一方のアプリケーションは、
ソリューション内に新規でプロジェクトをどれだけ追加しても、
追加直後に開くform1デザイナの右側ツールボックスに、
作成済みのユーザーコントロールが歯車アイコンで表示されるのですが、
もう1つのアプリケーションの方では、
ユーザーコントロールを作成したプロジェクト内のformをデザイナで開いたときにのみ
ユーザーコントロールがツールボックスに表示されるものの、
新規でプロジェクトを追加した直後のデザイナには
ユーザーコントロールが表示されません。
自分が関わっていながらこの差異に気付きませんでした。
どこの設定によって、ユーザーコントロールの自動表示がなされるのでしょうか。
0136デフォルトの名無しさん
2009/08/30(日) 02:18:45と言ってるんだけど・・・
0137デフォルトの名無しさん
2009/08/30(日) 02:39:45できたりできなかったりするわけですね…。
会社で作ったときはできて、自宅でやったらできませんでした。
2008を買ったばかりだったのに…
(>_<)。
ありがとうございます。
0138名無しさん@そうだ選挙に行こう
2009/08/30(日) 06:26:540139名無しさん@そうだ選挙に行こう
2009/08/30(日) 08:36:250140名無しさん@そうだ選挙に行こう
2009/08/30(日) 10:29:29なんかの間違いとしか思えない。
<NewDataSet>
<Table01>
<Item01>...</Item01>
</Table01>
<Table01>
<Item01>...</Item01>
</Table01>
</NewDataSet>
だったはずだと思う・・・その<Item01>項目がどのDataRowに含まれているのか
特定できないから。それとも自力で順に読み込んでRowにまとめていたのか?
そして今回、どうやってTable01テーブルのDataRowにマッピングするつもりなのか?
全くTable01というノードが無くなっちゃってるよな。
こんなトコに聞きにくるということは、そこも分からないで省略したいとか言っている
としか見えない。分かってるなら、そのように読み込み処理を書くから。
>すでに上のような書式に書き換えることは了解させたのですが
無茶苦茶に嫌な予感が・・・がんばってな。南無南無
悪いことは言わないから、吐いた唾飲んで元通りにしとくほうがいいと思う。
0141名無しさん@そうだ選挙に行こう
2009/08/30(日) 10:36:35自力で順に読み込んでRowにまとめるしか無いだろうね。XSLTでも無理くさい。
元のコードから、そのノード解析処理をコピってくるとか?
0142名無しさん@そうだ選挙に行こう
2009/08/30(日) 11:25:53<?xml version='1.0' standalone='yes'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match='/'><xsl:apply-templates/></xsl:template>
<xsl:template match='NewDataSet'><NewDataSet><xsl:apply-templates/></NewDataSet></xsl:template>
<xsl:template match='Table01'><xsl:apply-templates/></xsl:template>
<xsl:template match='Item01'><Table01><Item01><xsl:value-of select='.'/></Item01></Table01></xsl:template>
</xsl:stylesheet>
を使ってXSLTに食わせればいい。
(参考コード)
XslCompiledTransform xsltf = new XslCompiledTransform();
xsltf.Load(new XmlTextReader(new StringReader(xslt)));
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
StringWriter sw = new StringWriter();
xsltf.Transform(doc, null, sw);
DataSet dataSet1 = new DataSet();
dataSet1.ReadXml(new StringReader(sw.ToString()));
0143名無しさん@そうだ選挙に行こう
2009/08/30(日) 12:09:35ありがとうございます。(上ふたつも同じ人だよね?)
いまのコードは >>141 に書かれているように自分で解析しているようです。
正直、いまはちゃんとは理解できていないですけど、参考にしてお勉強させていただきます。
>>138
ついで。
TextBox1.Text = "123\r\n456";
詳しくは C# テキストボックス 改行 でぐぐれ。
0144名無しさん@そうだ選挙に行こう
2009/08/30(日) 13:18:32クエリを調べても出来そうにないんですが、エクセルシートみないな操作はできないんですか?
0145名無しさん@そうだ選挙に行こう
2009/08/30(日) 13:21:420146名無しさん@そうだ選挙に行こう
2009/08/30(日) 13:22:500147名無しさん@そうだ選挙に行こう
2009/08/30(日) 13:36:430148名無しさん@そうだ選挙に行こう
2009/08/30(日) 13:49:02そのページ上に、通常のHTMLで作成されたtype=button では無く、
Flashで作成されたボタンがあった場合、
プログラムからそれをクリックする事は出来ますか?
0149名無しさん@そうだ選挙に行こう
2009/08/30(日) 13:50:10Access+VBAで今回はしのげ
0150名無しさん@そうだ選挙に行こう
2009/08/30(日) 13:50:360151名無しさん@そうだ選挙に行こう
2009/08/30(日) 13:53:52行と列を指定すれば、フィールドの値は取れる。
つーか、グリッド上でやるのはパフォーマンス悪すぎだろ。
0152名無しさん@そうだ選挙に行こう
2009/08/30(日) 13:54:13無理。
0153名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:00:410154名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:04:58ん? >>143 宛なら、そりゃ、教えていただいたときとその反対の時の口調が同じなわけないだろ。w
>>144 まで含めているなら、それは別人だ。
0155名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:06:55自分で試しもみないでなんだけど、DataGridView で実用になるのってレコード数何件くらいまでかな?
0156名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:08:50グリッドビュー通してることになるんですよね。
>>151
ヒットしてません。アダプターでクエリするとカレントレコードの位置をグリッドビューからみて行番号はとれるんですがこれはDataTable内でのカレント操作はできないんですか?
0157名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:14:07一度二次元配列に代入してから素直に検索掛けた方がいいよ
0158名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:14:37> DataTableに取り込んだ状態でその中で検索をかけたいんですがこれってグリッドビュー通してることに
ならない。
データとUIは別物。
つかグリッドビューってことはASP.NETでいいんだな?
> アダプターでクエリすると
アダプタってTableAdapterとかDataAdapterか?
なら凄い勢いでDBにクエリを投げてるじゃないか
0159名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:16:45マジっすか。。。残念。Flashウザイ
0160名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:18:460161名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:19:480162159
2009/08/30(日) 14:28:04クリックをしてファイル選択ダイアログが立ち上がった後に
スグに別の処理を行いたいんですけど、その起動したダイアログを
閉じない限り次の処理を行う事が出来ず困っています。
何か良い方法はありませんか?
0163名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:37:240164名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:39:16なんとなくだけど、HTML を操作するんじゃなくて、HTTP 通信に手を出した
方がいい気がしないでもない。
0165名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:44:07基本的には別スレッド起動だけど、
単に「立ち上がったその瞬間」軽い処理ができればよいのなら
Application.EnterThreadModalイベントが使える。
あと、モーダルダイアログ表示中でもタイマーのtickイベントは発生する。
0166名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:51:31同じ質問をあちこちに書くと嫌われるよ。
どーせ見てる人は被ってるんだし。
0167名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:57:33マルチポスト監視員はちょっと気持ちが悪いなw
マルチポストする奴もたいがいロクな奴じゃないとは俺も思うが、
あれはマリチポストしてる奴よりよほど精神的に異常な奴に思える。
0168名無しさん@そうだ選挙に行こう
2009/08/30(日) 15:05:34マルチスレッドとして実行させる為に
Dim str As String = "あいうえお"
Dim t As New System.Threading.Thread( _
New System.Threading.ThreadStart(AddressOf TestMethod(str)) _
)
t.Start()
Private Sub TestMethod(Dim str As String)
Debug.WriteLine("テスト" & str)
End Sub
と記述してみたところエラーが出てしまいます。
マルチスレッドで引数を受取る形で宣言されたメソッドを実行する事は出来ないのでしょうか?
(あっ、C#スレだった・・・ごめんなさい。マルチスレッドが解決したら落ちます。)
0169名無しさん@そうだ選挙に行こう
2009/08/30(日) 15:08:08それはちょっと難易度があがりそうなので見送ります。
>>165
そんなイベントもあったのですね。知りませんでした。
とりあえずマルチスレッドにすればやりたい事が実現できそうなので今回は
こちらの方法で対処しようと思います。
それにしても今更だけど、プログラムって本当に面白いね^^;
面倒な作業を何でも自動化で来ちゃうところがナイスです。
>>166
ですね。気をつけます。
>>167
多分暇してる人だと思います。
0170名無しさん@そうだ選挙に行こう
2009/08/30(日) 15:11:55ParameterizedThreadStart
0171163
2009/08/30(日) 15:15:14http://msdn.microsoft.com/ja-jp/library/system.threading.threadstart(VS.80).aspx
0172名無しさん@そうだ選挙に行こう
2009/08/30(日) 16:40:56BorderLineだと四辺全てに引かれてしまうので、
.NET3.5より新しく加わった、lineshapeを使おうと思いました。
けど、接戦を引いたパネル上に別のパネルを置いてしまうと、見えなくなってしまいます。
何かいい方法はないでしょうか。
0173名無しさん@そうだ選挙に行こう
2009/08/30(日) 16:54:59あのコントロール、メニューストリップなどの上に描けないんだよね。
まだまだ不便だよ。
0174名無しさん@そうだ選挙に行こう
2009/08/30(日) 17:19:21TableLayoutでもいけそうだけど
0175名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:38:51他の3辺はNONEでいきたいのですが、継承するしかないでしょうか。
Lineshapeが登場して喜んでいたのですが(+_+)。
0176名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:53:030177名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:54:40ドラッグイベントを自前で実装するのもそれほど大変じゃないはず
0178名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:58:51>>175で言ってることと>>172は矛盾してない?
175の通りならLineShapeで何も問題ないように思えるが・・・
まあ、事ほど左様に言ってることがいまいち理解できないところがあるんで
トンチンカンなアドバイスかもしれんが、
■ A案
パネルCの中に、それを左右に(あるいは上下に)分割するような形で
パネルAとBを入れる。AとBの間には1〜2ドット分隙間をあけ、パネルCのBackColorを
境界線として利用する。
■ B案
2つのパネルのうちの片方パネルの、相手と接している辺にラベルをDockさせる。
0179名無しさん@そうだ選挙に行こう
2009/08/30(日) 19:58:540180デフォルトの名無しさん
2009/08/30(日) 21:45:35俺も>>172の意味が分からん
自分でLineShapeの上に別のコントロールを置いて隠しているだけじゃないのか
こういう構成で
- Form1
- panel1
- panel2
- panel3
- lineShape1
panel2とpanel3のサイズが同じとかアホなことしているのではと疑いたくなる
0181デフォルトの名無しさん
2009/08/30(日) 22:36:08>>172,175意味不明すぎるw
0182デフォルトの名無しさん
2009/08/30(日) 23:05:020183デフォルトの名無しさん
2009/08/30(日) 23:07:23馬鹿は黙ってろ
0184デフォルトの名無しさん
2009/08/30(日) 23:16:520185デフォルトの名無しさん
2009/08/31(月) 00:43:31<Columns>
<asp:BoundField HeaderText="ワードカテゴリ" DataField="Category" />
<asp:CheckBoxField DataField="Check" />
<asp:BoundField DataField="SynonymWord" HeaderText="チェックワード" />
</Columns>
</asp:GridView>
こういうグリッドビューに対して
これに対応したDataTableを作成し,データバインドしました.
2つ目に挿入されているCheckBoxFieldにはDataTableにBoolean型の列を割り当てました.
実行してみるとチェックボックスがフォームアプリケーションでいうEnebled = False 状態で
チェックを変更することができません.
GridViewのTableCellに対してEnebuled = Trueしたり
DataTableとGridViewCollumのCheckBoxField ReadOnlyをFalseにしたりしましたが
グレーアウトのままです
どうすればよろしいでしょうか
0186デフォルトの名無しさん
2009/08/31(月) 19:06:30CAN'T BUY MY LOVE(3rd album)
YUI/FROM ME TO YOU(album)
YUI/I LOVED YESTERDAY(album)
LOVE&TRUTH(album)
YUI/Namidairo(single)
から、
again
CAN'T BUY MY LOVE
FROM ME TO YOU
I LOVED YESTERDAY
LOVE&TRUTH
Namidairo
を取得するのに、正規表現をどう書いたらいい?
string title = "artist/(?<title>.*?).*?\((?<albumname>.*?)\)";
と書いてみたんだけど、なんか違ってるっぽい。
教えてください。
0187デフォルトの名無しさん
2009/08/31(月) 19:10:45何から何まで間違っている。
0188デフォルトの名無しさん
2009/08/31(月) 19:22:550189デフォルトの名無しさん
2009/08/31(月) 19:28:580190デフォルトの名無しさん
2009/08/31(月) 19:50:15どんだけ妄想を働かしてるんだよ。1回マニュアルを読んだほうが良い。
0191デフォルトの名無しさん
2009/08/31(月) 20:03:22ならOK?
0192デフォルトの名無しさん
2009/08/31(月) 20:04:52正規表現を1から勉強してこい
0193デフォルトの名無しさん
2009/08/31(月) 20:13:410194デフォルトの名無しさん
2009/08/31(月) 20:15:420195デフォルトの名無しさん
2009/08/31(月) 20:42:04或る統計 data より…
Spec and more 250MHz 400MHz Total
R10000 Pentium �U Source lines
C : 0.3秒 : 0.30秒 : 150行
C++/STL/deque : 2.6秒 : 11.2秒 : 70行
C++/STL/list : 1.7秒 : 1.5秒 : 70行
C# VB は在りませんが 統計上では 詠み込み行が多く為り 速度も変わる様です
0196デフォルトの名無しさん
2009/08/31(月) 20:46:54ヒント。その正規表現は '/' が文字列中に無いとマッチしないよね。
0197デフォルトの名無しさん
2009/08/31(月) 20:49:28Spec and more 250MHz 400MHz Total
R10000 Pentium �U Source lines
C : 0.36秒 : 0.30秒 : 150行
C++/STL/deque : 2.6秒 : 11.2秒 : 70行
C++/STL/list : 1.7秒 : 1.5秒 : 70行
でした…
0198デフォルトの名無しさん
2009/08/31(月) 20:53:10なんでVBとC#の比較しないの?意味分かんない。
0199デフォルトの名無しさん
2009/08/31(月) 21:02:56Spec and more 250MHz 400MHz Total
R10000 Pentium �U Source lines
C : 0.36秒 : 0.30秒 : 150行
C++/STL/deque : 2.6秒 : 11.2秒 : 70行
C++/STL/list : 1.7秒 : 1.5秒 : 70行
0200デフォルトの名無しさん
2009/08/31(月) 21:03:420201デフォルトの名無しさん
2009/08/31(月) 21:04:12全角でやれ、そして専ブラのリンク先で見る分には大丈夫だw
最後に、意味ないからこれ以上張るな。
0202デフォルトの名無しさん
2009/08/31(月) 21:29:19処理データ数ならせめて100行、10000行、1000000行の性能比較くらいしない
と、ただのゴミ。データ量によって性能の特性が変わることはよくあるから。
0203デフォルトの名無しさん
2009/08/31(月) 21:32:060204デフォルトの名無しさん
2009/08/31(月) 21:37:20まずはその変数をtitleじゃなくてpatternにしないか
気持ち悪い
俺も>>199のデータがどう>>189に関係有るのか分からないけど、
>>189は「基本的に」って書いてあるから答えとしては、「ほぼ変わらない」でFAでしょ。
ほぼ同じ中間コードが同一のCLRで走るんだし。
細かく見れば言語固有の実装があったりとかで、違ったりするかもしれないけどそこまでは知らにゃい。
というか、どちらにしようか迷ってる段階であの質問なんだとしたら、処理速度で選ぶのは間違ってると思います。
あ・・・でもVB.netってunsafeコード書けないんでしたっけ。
0205デフォルトの名無しさん
2009/08/31(月) 21:43:50ラインシェイプは、パネルの境界線としては大して役に立たないのかよ。
Sp1は大した機能がないのか世。
0206デフォルトの名無しさん
2009/08/31(月) 21:46:100207デフォルトの名無しさん
2009/08/31(月) 21:46:420208デフォルトの名無しさん
2009/08/31(月) 21:47:08コンパイラの出来がよかったんだって。
今となってはそんなこともないんだろうけどね。
0209デフォルトの名無しさん
2009/08/31(月) 22:08:06想定されてるVBの用途を考えればほとんど無意味なコストなんだろうけど
0210デフォルトの名無しさん
2009/08/31(月) 23:19:03でウィンドウを枠を表示しないようにすると、ウィンドウ内をダブルクリックしてウィンドウが最大化します。
これを抑止するにはどうしたらよいですか?
0211デフォルトの名無しさん
2009/08/31(月) 23:26:31ならOK?
0212デフォルトの名無しさん
2009/08/31(月) 23:28:26それだけなら最大化なんかしないはずだが
WndProcオーバーライドしてなんかやってないか
0213デフォルトの名無しさん
2009/08/31(月) 23:28:56スレ違い
0214デフォルトの名無しさん
2009/08/31(月) 23:31:47フレームなしのウィンドウを移動可能にするので、
protected override void WndProc(ref Message m){
base.WndProc(ref m) ;
if ((m.Msg == 0x84) &&
(m.Result == (IntPtr)1))
{m.Result = (IntPtr)2 ;}
}
というのを入れてます。
これがだめなんですか?
といっても、フレームなしのウィンドウを移動するには、
これが必要だし…。
0215デフォルトの名無しさん
2009/08/31(月) 23:31:49PHPとXMLと正規表現混ざってるんじゃね?
本気で解答得たいという姿勢を感じられん。
0216デフォルトの名無しさん
2009/08/31(月) 23:37:31そういうのはOnMouseDownとOnMouseMoveでやるんじゃないの普通・・・
0217デフォルトの名無しさん
2009/08/31(月) 23:43:100218デフォルトの名無しさん
2009/08/31(月) 23:45:120219デフォルトの名無しさん
2009/08/31(月) 23:49:38他でもいろいろやってそうだね。
問題の切り分けを自分で出来るようにならないと、
情報を小出しするとかいろいろ文句をつけられるぞっと。
0220デフォルトの名無しさん
2009/08/31(月) 23:51:19WM_NCHITTESTでHTCAPTION返すようにするなら、
WM_SYSCOMMANDでWParamにSC_MAXIMIZEが含まれるときにIntPtr.Zeroを返すようにする処理を追加しないと
0221デフォルトの名無しさん
2009/08/31(月) 23:57:39>>214って典型的な「何でもMSのバグのせいにするタイプ」だね。
こんなの普通の神経してれば、人に質問する前にコード何も書かない素のフォームで
試して自分の仮説が本当に正しいのか実証するだろう。
俺には理解できん。真面目に精神病の一種か何かじゃないのこういう人。
0222デフォルトの名無しさん
2009/09/01(火) 00:01:520223デフォルトの名無しさん
2009/09/01(火) 00:49:46private Point _p;
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if (e.Button == MouseButtons.Left)
_p = e.Location;
}
protected override void OnMouseMove(MouseEventArgs e)
{
base.OnMouseMove(e);
if (e.Button == MouseButtons.Left)
Location = new Point(Location.X + (e.Location.X - _p.X), Location.Y + (e.Location.Y - _p.Y));
}
0224デフォルトの名無しさん
2009/09/01(火) 02:45:27これって、イベントハンドラはどう割り当てるのですか?
0225デフォルトの名無しさん
2009/09/01(火) 03:03:320226デフォルトの名無しさん
2009/09/01(火) 06:04:01イベントを定義しているクラスがイベントハンドラを実行するんだよ。
そのイベントハンドラを実行するメソッドを普通On[イベント名]メソッドで定義するのが作法。
public event EventHandler SomeEvent; //イベント定義 呼び出し側からハンドラを追加する。
protected void OnSomeEvent(EventArgs e)
{
if(SomeEvent != null) //ハンドラが追加されているかをチェック
}
0227デフォルトの名無しさん
2009/09/01(火) 06:07:28public event EventHandler SomeEvent; //イベント定義 呼び出し側からハンドラを追加する。
protected virtual void OnSomeEvent(EventArgs e)
{
if(SomeEvent != null) //ハンドラが追加されているかをチェック
SomeEvent(this, e);
}
なので 同一クラスおよび、サブクラスでは イベントハンドラを追加しなくても
Onメソッドをオーバーライドすればイベントハンドラを追加したのと同じことができる。
ただしスレッドは同一になるのでマルチスレッドデリゲートしたければ
イベントハンドラ追加するかな。
0228227
2009/09/01(火) 06:14:05Onメソッド内部に処理をかけばいいのだが、
そんなのは邪道なので
Onメソッドを実行せずに直接やりたい処理をやらせる。
イベントを起こしたいのならOnメソッドも実行する。
0229デフォルトの名無しさん
2009/09/01(火) 11:07:09publicにしたくないメンバだけ明示的実装するしかないの?
0230デフォルトの名無しさん
2009/09/01(火) 11:15:27いずれにせよインターフェイスにはパブリックなメンバしか定義できないよ。
0231229
2009/09/01(火) 11:24:23internalとしてそのメンバを実装するとコンパイルエラーになってしまう
publicメンバとして実装したら通るけどアセンブリ外から見えてしまう
明示的実装すれば実質internalになるけど,呼び出すときにいちいちインターフェイスにキャストするのが面倒
0232デフォルトの名無しさん
2009/09/01(火) 11:58:22まあこれぐらいで 多分どっかで最適化されて実行コストのロスはなくなるだろ
internal interface ITest {
void Test();
}
public class Test : ITest {
void ITest.Test() { }
internal void Test() {
((ITest)this).Test();
}
}
0233デフォルトの名無しさん
2009/09/01(火) 14:39:02これなら実装をvirtualやabstractにもできるし。
internal interface ITest {
void Test();
}
public class Test : ITest {
void ITest.Test() {
Test();
}
internal void Test() { }
}
0234デフォルトの名無しさん
2009/09/01(火) 15:13:49double d;
s="this is ";
s= s + d.ToString;
これだと 演算子 '+' を 'string' と 'メソッド グループ' 型のオペランドに適用することはできません。
って怒られるんだけど、こういうときはどうしたらいいですか?
StringBuilder使うのがいいですか?
0235デフォルトの名無しさん
2009/09/01(火) 15:14:59d="1234";
が抜けてました
0236デフォルトの名無しさん
2009/09/01(火) 15:15:070237デフォルトの名無しさん
2009/09/01(火) 15:15:23ToStringなんてプロパティねーよ
メソッドならあるよ
0238デフォルトの名無しさん
2009/09/01(火) 15:18:250239デフォルトの名無しさん
2009/09/01(火) 16:25:560240デフォルトの名無しさん
2009/09/01(火) 16:39:33よくコレクション定数をプロパティで作ることがあるですが、
その定数が配列などのときにいちいちGet{for{list.Add(***):}}でループしながら定数を組んでいるためその変数を呼ぶごとにほんの少し時間をとります。
タイムカウントをとるとほんと微々たるものですが、私にとってはあまり気分のいいものではありません。
Getで指定する理由は、その定数には数十個とそれなりに大きなもので
バージョンを上げるごとに変わることが予想されるためで、変更し易いようにということでこのようにしています。
一度アプリケーションが起動するときに一気にロードしてreadonlyにしていたこともあるのですが、個人的に気持ちいいものではありませんでした。
皆さんはこのような状況のとき、どのような対策を行っているのでしょうか?
0241デフォルトの名無しさん
2009/09/01(火) 16:41:310242デフォルトの名無しさん
2009/09/01(火) 16:41:410243デフォルトの名無しさん
2009/09/01(火) 16:53:51int MyProperty {
get {
if (myProperty == null) { /*値を計算してmyPropertyに代入*/ }
return myProperty;
}
}
こうやって最初に呼び出された時だけ計算するとか
0244デフォルトの名無しさん
2009/09/01(火) 17:03:27staticフィールドで済ませる事が多いな。
メモリを圧迫するような大きなデータだと、
プロパティアクセス時に生成してキャッシュしておくけど。
0245デフォルトの名無しさん
2009/09/01(火) 17:21:580246デフォルトの名無しさん
2009/09/01(火) 17:22:41やっぱり一発で書ける方法はないんですね・・・
変数生成やプロパティ呼び出しのときにconstが使えて、呼び出し後は変数として使えるなんて出来れば幸せになれるのですが、orz
人の意見を聞けてよかったです。
ありがとうございました。m(_ _)m
0247デフォルトの名無しさん
2009/09/01(火) 17:32:49コンストラクタでの変更は故意にやらない限り弄られることはないかなっという
軽い気持ちで行っていますw
0248デフォルトの名無しさん
2009/09/01(火) 17:51:19とか書くかな
0249デフォルトの名無しさん
2009/09/01(火) 21:05:45for (int i = 0; i < hoge.ConstValues.Length; i++) { x = hoge.ConstValues[i]; }
とかされると死ぬから
0250デフォルトの名無しさん
2009/09/01(火) 22:42:52意外と難しい一般的なやりかたじゃないんですかねー?
0251デフォルトの名無しさん
2009/09/01(火) 22:54:260252デフォルトの名無しさん
2009/09/01(火) 23:00:210253デフォルトの名無しさん
2009/09/01(火) 23:04:22諦めろ
0254デフォルトの名無しさん
2009/09/01(火) 23:07:16自前で頑張って描画して印刷するしかない
0255デフォルトの名無しさん
2009/09/01(火) 23:11:160256デフォルトの名無しさん
2009/09/01(火) 23:11:40ボランティアでも飽きるわ
0257デフォルトの名無しさん
2009/09/01(火) 23:18:14皆さんどうしたんですか
カルシュウム足りてませんよ
>>253 あい
>>254-255 そうですよねググッテQ&A読んでたら最終的にそういった結論でした
>>256 このスレの意義がなくなるでわないか!国民よ!!
0258デフォルトの名無しさん
2009/09/01(火) 23:20:09君には簡単じゃないだろうけど
0259デフォルトの名無しさん
2009/09/01(火) 23:27:41ちょっと安易すぎた
>>258
ありがとう
興味あるけどWPFはもっと腕をあげてからだな
ありがとうね
0260デフォルトの名無しさん
2009/09/01(火) 23:29:28aspだと
TreeNode.Selected = True
TreeNode.Select()
ようなのですが・・・・
0261デフォルトの名無しさん
2009/09/01(火) 23:32:010262デフォルトの名無しさん
2009/09/01(火) 23:34:080263デフォルトの名無しさん
2009/09/01(火) 23:55:380264259
2009/09/02(水) 00:10:03datatbsuu.Rows[r]["hoe01"].ToString().PadRight(10)
すいません
マジググって分からなかったんで安易に聞いてしまいました
すまぬ
0265デフォルトの名無しさん
2009/09/02(水) 00:11:57まあ解決したなら別にいいけど。
0266デフォルトの名無しさん
2009/09/02(水) 09:36:34すべて受け渡してやらないといけないんですが、単にピクチャーボックスの派生型から必要な機能だけを追加しても
いいでしょうか?
なにか不具合はありませんか?
できればオリジナルのピクチャーボックス同様デザイナでも利用したいのですがツールボックスに登録して
デザイナでレイアウトできますか?
0267デフォルトの名無しさん
2009/09/02(水) 09:54:190268デフォルトの名無しさん
2009/09/02(水) 20:42:150269デフォルトの名無しさん
2009/09/02(水) 20:54:36ツラが変らないならカスタムコントロール(既存のコントロールからの派生)でいいし、
その方がずっとわかりやすい。
ユーザーコントロールってのは、当たり前だが複合コントロールを作るためのものだよ。
0270デフォルトの名無しさん
2009/09/02(水) 20:57:46Controlから直接派生して自作できそうだ
0271デフォルトの名無しさん
2009/09/02(水) 21:19:190272デフォルトの名無しさん
2009/09/02(水) 21:30:17何とかして下さい
0273デフォルトの名無しさん
2009/09/02(水) 21:44:310274デフォルトの名無しさん
2009/09/02(水) 22:03:53やりすぎるとOSそのものの起動が激遅になるけどねw
0275デフォルトの名無しさん
2009/09/03(木) 12:06:16配列へコピーしてもダメで困っているのですがどうしたらいいのでしょうか?
public class Location{
public int x, y, z;
public void data(Location position){
this.x = position.x;
this.y = position.y;
this.z = position.z;
}
public void data(int x, int y, int z){
this.x = x;
this.y = y;
this.z = z;
}
}
static void Main(string[] args){
Location pos1 = new Location();
Location pos2 = new Location();
List<Location> FilePosList = new List<Location>();
pos1.x = 5;
pos1.y = 10;
pos1.z = 20;
pos2.x = 5;
pos2.y = 10;
pos2.z = 20;
FilePosList.Add(pos2);
if (FilePosList.Contains(pos1)) {
Console.WriteLine("値が一致しました");
}
}
0276デフォルトの名無しさん
2009/09/03(木) 12:07:160277デフォルトの名無しさん
2009/09/03(木) 12:16:03pos1 == pos2が成立するようにする
具体的にはEqualsのオーバーライド
0278デフォルトの名無しさん
2009/09/03(木) 12:21:19そういうデータは変更可能なクラスであってはいけない。
あとからメンバの値を変更できないような設計にするか,
クラスではなく構造体にしないと整合性が保たれない。
0279デフォルトの名無しさん
2009/09/03(木) 12:32:03ありがとうございます。
>>278 アドバイスありがとうございます
0280デフォルトの名無しさん
2009/09/03(木) 12:47:43しかしこれもダックタイピングなのか
0281デフォルトの名無しさん
2009/09/03(木) 13:05:19だからオーバーライドしてあればそっちが呼ばれる。ダックタイピングではない。
EqualityComparer<T>.Defaultは面白いプロパティで,TがIEqualityComparer<T>を実装してたら
Object.EqualsじゃなくてIEqualityComparer<T>.Equalsを使う実装に代わったりする。
0282デフォルトの名無しさん
2009/09/03(木) 13:12:41IEquatable<T>なら理解できるが
0283デフォルトの名無しさん
2009/09/03(木) 13:13:200285デフォルトの名無しさん
2009/09/03(木) 14:03:53つかないものはクラスとなるけど、サンプルはその記述だけで他が一緒。
これはどういう使い分けをしたらいいの?
0286デフォルトの名無しさん
2009/09/03(木) 14:20:52わからないうちはクラスだけ使ってれば問題ありません。
非常に重要な概念ですがとてもこんなところで説明しきれるようなものではないので
ちゃんと基礎から自分で勉強した方がいいです。
0287デフォルトの名無しさん
2009/09/03(木) 14:26:570288デフォルトの名無しさん
2009/09/03(木) 14:31:07オブジェクト指向や多態性について10レスくらい使って書けばいいの?
0289デフォルトの名無しさん
2009/09/03(木) 15:06:48list.Add(DataRow.ItemArray);
それで、テンプレート側でlistの表示を行いたいのですが、
やり方がいまいちわかりません。
foreach等でまわすのはわかるのですが、どうやってまわすのですか?
0290デフォルトの名無しさん
2009/09/03(木) 15:12:52class MyClass{
public int methodA (int i)
{
return i + 1;
}
public int methodB (int i)
{
return i - 1;
}
}
class ClassB{
public int methodA (int i)
{
return i * 2;
}
public int methodB (int i)
{
return i / 2;
}
}
0291デフォルトの名無しさん
2009/09/03(木) 15:17:020292デフォルトの名無しさん
2009/09/03(木) 15:17:240293デフォルトの名無しさん
2009/09/03(木) 15:29:28interface IStrategy {
int methodA(int i);
int methodB(int i);
}
class ClassA : IStrategy {
...
}
class ClassB : IStrategy {
...
}
GetStrategy() は、ClassAかClassBのどちらかのインスタンスを返すメソッドとして
どこか別のところで、
IStrategy strategy = GetStrategy();
int bar = strategy.methodA(foo);
0294デフォルトの名無しさん
2009/09/03(木) 15:30:24そうですよね。
昨日行った面接でホワイトボードにこれ出されて、
オブジェクト指向で書き換えるように言われたのですが。。。
上手く回答する事ができず、取りあえずinterfaceをくっ付けてみたのですが、
後学の為に、どうか書けば良かったのか知りたかったのです。
分かる方居ればご教授頂けると嬉しいです。
0295デフォルトの名無しさん
2009/09/03(木) 15:33:01OOP脳っぽいw
0297デフォルトの名無しさん
2009/09/03(木) 15:34:18ありがとうございます。ストラテジーパターンですね。
やはり、デザインパターンで回答するのがスマートでしたか。
イメージはありましたが、名前が出てきませんでした。
0298デフォルトの名無しさん
2009/09/03(木) 15:36:58その可能性はありますね。ストラテジーパターンは知ってはいたのですが、
面接官の前でテンパってしまってInterfaceくっ付けるだけで、
その後の説明ではアワアワなってしまいました。
0299デフォルトの名無しさん
2009/09/03(木) 15:41:480300デフォルトの名無しさん
2009/09/03(木) 15:59:22ありがとうございました。
0301デフォルトの名無しさん
2009/09/03(木) 18:12:02TabPageとそれに格納されているコントロールを複製して、
同じ挙動・レイアウトのTabPageを作成したいのですが、
どのような方法がありますか?
0302デフォルトの名無しさん
2009/09/03(木) 18:37:47山本 一太 B
山田 太郎 C
テキストボックスで名前とアルファベットの間にタブを入れると
上のようになるんですが、メモ帳やテキストエディタにコピペすると
きちんと等長になります
テキストボックスコントロールでタブを等長にするにはどうすればいいですか?
0303302
2009/09/03(木) 18:42:29フォントが非等長でした。
すんまそん。
0304デフォルトの名無しさん
2009/09/03(木) 19:53:150305デフォルトの名無しさん
2009/09/03(木) 20:02:560306デフォルトの名無しさん
2009/09/03(木) 21:24:47細かいこと気にするなよ兄弟
0307デフォルトの名無しさん
2009/09/03(木) 22:04:11やりたいことがよくわかんないんだけど。
ユーザコントロールにその「タブに格納されているコントロール」群を貼り付けて、
そのユーザコントロールをあちこちのタブページに貼り付けるんじゃダメなの?
0308デフォルトの名無しさん
2009/09/03(木) 22:45:25サブスレッドにてメインスレッドのListvViewコントロールから取得したListViewItem似たいし
処理を施してからメインスレッドのListViewに返したいと思っています。
Invokeする際にIndexを取得しておく方法を考えていますが、Itemを返すときに取得した位置に
間違いなく返す方法があれば教えてください。
0309デフォルトの名無しさん
2009/09/03(木) 22:48:550310デフォルトの名無しさん
2009/09/03(木) 22:48:55コントロールパネルのネットワーク接続から「無効にする」を選択した状態を再現したいです。
アンセーフなものでも構わないのでご教授いただけませんか
0311デフォルトの名無しさん
2009/09/03(木) 22:54:09それ日本語かよ。
0312デフォルトの名無しさん
2009/09/03(木) 23:28:50ネットワークデバイス(ドライバ)を無効化すれば?
>>308
落ち着け
0314デフォルトの名無しさん
2009/09/03(木) 23:42:15これからのCPUの割合がそうなっちゃうからなのか?
メモコンとかで劣るのに。
まじで?
0315314
2009/09/03(木) 23:43:48代わりに誤爆したことを謝ります。
m(´。。)mペコリー
0316デフォルトの名無しさん
2009/09/03(木) 23:45:160317デフォルトの名無しさん
2009/09/04(金) 00:16:01誰かコーディングしてください!
0318308
2009/09/04(金) 00:21:06delegate GetItemDelegate();
delegate SetItemDelegate();
private void Button1_Click(sender, e)
{
Thread t = new Thread(new ThreadStart(Send));
t.Start();
}
private void Send()
{
Invoke(new GetItemDelegate(GetItem)); ←これを
〜処理〜
Invoke(new SetItemDelegate(SetItem)); ←もとの位置に戻したいが上手い方法がわからない
}
private ListViewItem GetItem(){〜処理〜}
private void SetItem(ListViewItem lvi){〜処理〜}
0319デフォルトの名無しさん
2009/09/04(金) 00:40:46一旦ListView.Itemsから削除することになるけど
適当にListViewItemと元のIndexを持ったクラスでもやりとりすれば良いんじゃね
仮想リストビュー使った方が良いと思うけどね
つか元の位置に戻したいとかよく分からん GetItemの返値捨ててるし
0320デフォルトの名無しさん
2009/09/04(金) 00:46:30恐らく本人も自分が何をしたのか、よく理解できてないんだろう。
いずれにせよ、自分を考えを整理できない人間が、かつ説明能力も欠如してると
最強の「日本語でおk」なフィーリング溢れる文章が出来上がる、と。
0321デフォルトの名無しさん
2009/09/04(金) 00:52:08ありがとうございます。
devconというものを使えばできそうなのはわかったのですが
再配布禁止なようなので、できればAPIなどで実現したいです。
ドライバの無効化はどのように実現するものなのですか?
0322318
2009/09/04(金) 01:04:09なんも見ないでおおざっぱに書いただけなので細かい部分は勘弁してください
仮想モード調べてみたけどソートとかめんどくさそうで・・・
0323デフォルトの名無しさん
2009/09/04(金) 01:07:010324312
2009/09/04(金) 01:08:13私は組込屋ではないので、ドライバの知識はないです
ドライバなんで、もしかしたらWindowsAPIやDLLの知識が要るかもしれないです
参考になるかはわかりませんが
ttp://okwave.jp/qa1733096.html
0325318
2009/09/04(金) 01:25:10今ListViewに実装してるソータークラスを改良したらなんとか行けそうな気がしてきたんで
仮想モードを使う方法とインデックス保持専用クラスをやりとりする方法を両方検討してみます
ありがとうございました。
0326314
2009/09/04(金) 01:37:44気になって調べてみた。
こういったネットワークとかは経験上コマンドラインでなんとかなると思って調べてみると色々でてきた。
自分も試したことないから何とも言えないけど、コマンド関係を調べて見てはどうでしょうか、
http://kgo.dtiblog.com/blog-entry-32.html
0327デフォルトの名無しさん
2009/09/04(金) 01:39:01Janeのコテハン記憶にやられた。
かまって欲しいのか、そうなのか。
0328デフォルトの名無しさん
2009/09/04(金) 01:42:480329デフォルトの名無しさん
2009/09/04(金) 10:13:37どぼんさんところのサンプルを改造しててコンパイルエラーがでました
キーワード"base"は静的メソッドでは使用できません。
BeginInvoke・EndInvokeを使ってメインスレッドで処理しなければいけない
ような気がするんですがどう書いていいかわかりません。
よろしくお願いします。
次でコードを載せます。
0330デフォルトの名無しさん
2009/09/04(金) 10:15:05{
public GMapStaticParameters GSParam = new GMapStaticParameters();
//受信したデータを入れておくMemoryStream
private static System.IO.MemoryStream requestData;
//受信したデータを入れるバッファ
private static byte[] bufferData;
//html.Textの取得
public static void GetMap()
{
//HttpWebRequestの作成
System.Net.HttpWebRequest webreq =
(System.Net.HttpWebRequest)
System.Net.WebRequest.Create("http://www.hogehoge.com/data.htm");
//非同期要求を開始
//状態オブジェクトとしてHttpWebRequestをわたす
IAsyncResult r =
(IAsyncResult)webreq.BeginGetResponse(
new AsyncCallback(ResponseCallback), webreq);
}
0331デフォルトの名無しさん
2009/09/04(金) 10:16:25private static void ResponseCallback(IAsyncResult ar)
{
//状態オブジェクトとしてわたされたHttpWebRequestを取得
System.Net.HttpWebRequest webreq =
(System.Net.HttpWebRequest) ar.AsyncState;
//非同期要求を終了
System.Net.HttpWebResponse webres =
(System.Net.HttpWebResponse) webreq.EndGetResponse(ar);
//ストリームを取得
System.IO.Stream st = webres.GetResponseStream();
//データを読み込むための準備をする
requestData = new System.IO.MemoryStream();
bufferData = new byte[1024];
//非同期でデータの読み込みを開始
//状態オブジェクトとしてStreamをわたす
IAsyncResult r = (IAsyncResult) st.BeginRead(
bufferData, 0, bufferData.Length,
new AsyncCallback(ReadCallback), st);
}
0332デフォルトの名無しさん
2009/09/04(金) 10:17:28private static void ReadCallback(IAsyncResult ar)
{
//状態オブジェクトとしてわたされたStreamを取得
System.IO.Stream st = (System.IO.Stream)ar.AsyncState;
//データを読み込む
int readSize = st.EndRead(ar);
if (readSize > 0)
{
//データが読み込めた時
//読み込んだデータをMemoryStreamに保存する
requestData.Write(bufferData, 0, readSize);
//再び非同期でデータを読み込む
IAsyncResult r = (IAsyncResult)st.BeginRead(
bufferData, 0, bufferData.Length,
new AsyncCallback(ReadCallback), st);
}
else
{
//データの読み込みが終了した時
//データをデコードして表示する
System.Text.Encoding enc =
System.Text.Encoding.GetEncoding(51932);
base.Text = enc.GetString(requestData.ToArray());
base.Refresh;
//閉じる
st.Close();
requestData.Close();
}
}
}
インデントは全角スペースです
0333デフォルトの名無しさん
2009/09/04(金) 10:21:260334デフォルトの名無しさん
2009/09/04(金) 10:31:50staticを外すと
静的でないフィールド、メソッド、またはプロパティ 'ResponseCallback(System.IAsyncResult)' で、オブジェクト参照が必要です。
と言われますた。
0335デフォルトの名無しさん
2009/09/04(金) 10:40:100336デフォルトの名無しさん
2009/09/04(金) 10:46:130337デフォルトの名無しさん
2009/09/04(金) 11:40:150338デフォルトの名無しさん
2009/09/04(金) 11:47:440339デフォルトの名無しさん
2009/09/04(金) 11:52:130340デフォルトの名無しさん
2009/09/04(金) 11:55:46天才!
無事コンパイルは通りました。ありがとうございました。
ただ、これをこまま実装した場合、メソッド呼び出しが連続したときなどの対処を考える必要があると思うのですが
連続した場合は動いているスレッドを破毀したい場合どのように改良していくべきでしょうか?
ロードマップだけでもお示しください。何とぞ。
0341デフォルトの名無しさん
2009/09/04(金) 12:12:15その中でコントロールを触るにはControl.Invokeが必要
0342310
2009/09/04(金) 12:28:30ありがとうございます。
いろいろ調べてみたのですが
とりあえずローカルエリア接続から排除するだけでも私のやりたいことを叶えられそうなので
「NetUseDel」を使ってみようと思いました。
しかし、NetUseDelはネットワークドライブからの接続解除について書かれたものが多く
どうやってローカルエリア接続を解除するのかわかりませんでした。
UseNameには「ローカル エリア接続」、「物理アドレス」、「ネットワークカード名」を試してみました。
もはやこちらでお願いするのもどうかと思うのですがご教授いただけないでしょうか
0343デフォルトの名無しさん
2009/09/04(金) 12:56:15非同期です。Control.Invokeですね。
たぶん実行時エラーが出るとは思ってました。
0344デフォルトの名無しさん
2009/09/04(金) 14:50:44とりあえず動作確認まで完了できました
ありがとうございました
0345デフォルトの名無しさん
2009/09/04(金) 21:11:17無理。
0346デフォルトの名無しさん
2009/09/04(金) 22:35:46動作確認が取れたところでちょっとハードに重複してスレッドを呼び出してみました。
そうすると、閉じたストリームに書き込もうとしてるぞエラーが出ました。
場当たり的にあちこちlockを使ってみましたがダメでした。
イベントハンドラがメソッドAを呼び出す。
メソッドAがメソッドBをマルチスレッドで呼び出す。
メソッドBはメソッドCをマルチスレッドで呼び出す。
メソッドCは自分の仕事が完了したかどうかチェックしてまだならメソッドCを呼び出す。
完了していたらControl.Invokeを呼び出す。
イベントはスレッド完了を待たずにどんどん発生します。
メソッドBを呼び出された順番で1つづつ実行したいのですが、BeginInvokeでいいでしょうか?
ヒントをひとつよろしくお願いします。
0347デフォルトの名無しさん
2009/09/04(金) 22:56:53> イベントはスレッド完了を待たずにどんどん発生します。
> メソッドBを呼び出された順番で1つづつ実行したいのですが
メソッドBが呼び出された順番でいいのか? メソッドAが呼び出された順番じゃなくて
なんにせよスレッドに順番なんて保証は皆無なので
メソッドBが呼び出された順をキューとかリストとかに保存して
Invokeを呼び出す時に並べてやる必要がある
その辺をマルチスレッドから扱うにはlockとかが必要
あとControl.BeginInvokeじゃ呼び出されるメソッドの順番は保証がない
0348デフォルトの名無しさん
2009/09/04(金) 23:54:14たとえばサイズを20pxとして描画した場合に全角なら幅20px、高さ20px、半角なら幅10px、高さ20pxとなるような
0349デフォルトの名無しさん
2009/09/05(土) 00:04:53ありがとうございます。以前はリストを保存してタイマーでスレッドをチェックしてスレッドが走ってなかったらリストをひとつ消化
という仕組みにしてましたが、今回はイベントがタイマーより早く発生しそうでどうするか迷ってました。
かなり操作を早くしないとこのエラーはでないし、そこまで操作が早くなるとキューやリストを消化できない弊害がでそうなので
ストリームの状態を確認してエラーが出たら保存作業をスキップさせるように変更します。
経験に基づいた判断はサンプルコードでは得られないものですね。
ありがとうございました。
0350デフォルトの名無しさん
2009/09/05(土) 00:08:18ペゾルドの本でもじっくり読んでみたら。
偉そうに言ってる俺は拾い読みしかしてないけどw
http://msdn.microsoft.com/ja-jp/library/dd297679.aspx
0351デフォルトの名無しさん
2009/09/05(土) 05:33:46個人の場合は、個人の姓名などの情報、
法人の場合は、会社名や代表者などの情報を入れてもらうように
パネルを切り替えています。
しかし、どちらが前面にあっても、タブオーダーは背面のコントロールにまで飛んでいるようです。
これを、背面に隠れている側のパネルのコントロールにタブが飛ばないようにするには
どうする方法が効率的でしょうか。
イベント発生ごとに、各コントロールのタブストップのTRUE FALSE を
1つずつ記述するしか方法はないでしょうか。
よろしくお願いします。
0352デフォルトの名無しさん
2009/09/05(土) 05:58:41選択された方のパネルだけ貼り付ければもう片方にフォーカスが移るはずがないんだが。
0353デフォルトの名無しさん
2009/09/05(土) 06:00:000354デフォルトの名無しさん
2009/09/05(土) 06:02:200355デフォルトの名無しさん
2009/09/05(土) 09:50:40ふだんVBでコーディングしているんですが、今回C#を書いています
そしたら、インテリセンスが不親切です
メソッドを選択しても()がつかない
メソッドの引数候補の情報が出ない
文法エラーが出て修正してもアンダーラインが消えない
こういうものですか?C#って
0356デフォルトの名無しさん
2009/09/05(土) 09:58:03引数候補の情報や文法エラーは正しく書いていないだけだし。
0357デフォルトの名無しさん
2009/09/05(土) 09:59:11これは本当に好みの問題。嫌いな人もいる。
>メソッドの引数候補の情報が出ない
出る。
>文法エラーが出て修正してもアンダーラインが消えない
消える。
0358デフォルトの名無しさん
2009/09/05(土) 10:02:13目的のメソッドが選択された時点でいきなり ( を入力するのがおすすめ。
0359デフォルトの名無しさん
2009/09/05(土) 10:05:45氏の質問を見て、私も質問をさせていただきたいのですが…。
私は縦横にパネルを6枚ほど敷き詰めて、
それぞれに、約10ずつのコントロールを置いており、
タブオーダーを約50まで設定していますが、
間に項目が追加になりそうなんです。
その場合、追加したコントロール以降のタブオーダーを全てプロパティ画面で手で直さなくてはならないのでしょうか。
表示⇒タブオーダーの画面だと、コントロールが密集しているのでうまくクリックできない状態です。
よろしくお願いします。
0360デフォルトの名無しさん
2009/09/05(土) 10:10:00C系の言語の場合はあまり変わらないので不要。ちゃんとリアルタイムにエラーが表示されるから閉じ忘れも起こらない。
>>359
もうデザイナ使わずにコードでコントロールを作るようにしたら?
0361デフォルトの名無しさん
2009/09/05(土) 10:15:510362デフォルトの名無しさん
2009/09/05(土) 10:26:02いやーそういうつもりはないんですが
>>357
なるほど 好き嫌いや慣れの部分はしかたないですね
>>メソッドの引数候補の情報が出ない
>出る。
>>文法エラーが出て修正してもアンダーラインが消えない
>消える。
もうちょっと悩んでみます・・・
>>358
なるほど!そうさせていただきます
>>360
なるほど・・・
文法エラーが消えないのはなぜなんでしょうかねえ
インストールの時の言語選択が原因ですかね?
0363デフォルトの名無しさん
2009/09/05(土) 12:01:05使ってりゃあれって思うこと多い。
リファクタ機能も使えないし、
ツールチップ表示でフルクラス名出ないし、
自作ライブラリのコメント出ないし、
型が色分け表示されないし、
オーバーライドしたいときにoverrideって打って対象メソッド選択とか出来ないし、
こんな感じでイライラする。
0364デフォルトの名無しさん
2009/09/05(土) 12:02:520365デフォルトの名無しさん
2009/09/05(土) 12:30:14本当にVB(2005以降)の使ったことある?
嘘はいかんと思うよ。
まあVBのIDEの方が遅れてる面が大きいのは事実だが、
リアルタイムのエラー警告だけはVBの方が精度が高いね。
C#みたいにビルドして初めて警告が発せられる・・・ってことがVBにはない。
あと個人的にはメソッドの区切り線の表示機能もC#にあってもいいと思う。
0366デフォルトの名無しさん
2009/09/05(土) 12:34:030367デフォルトの名無しさん
2009/09/05(土) 12:52:42なんでC#と同じようにしないんだろう
0368デフォルトの名無しさん
2009/09/05(土) 12:52:54持ってるんだろうから試せばわかると思うよ。
0369デフォルトの名無しさん
2009/09/05(土) 13:06:33>ビルドして初めて
ん?うちのVS2005stdのC#は入力すると即座にエラー一覧に出るんだが。
何か設定か、CPUの能力から自動判断とかじゃないか?
0370デフォルトの名無しさん
2009/09/05(土) 13:15:37internalクラスをpublicクラスのpublicメンバで公開するとか
そういうのはビルド時までエラーが出ない
0371デフォルトの名無しさん
2009/09/05(土) 13:28:18public inner a() {
return new inner();
}
static class inner {
int a;
public inner() { }
}
0372デフォルトの名無しさん
2009/09/05(土) 14:11:02A、B、Cの横幅を足すと、フォームに収まりきらないので、
メインパネルにはオートスクロールを設定しました。
しかし、ユーザーから、A、B、Cのパネルの内容を一度に閲覧したいという要望がありました。
このとき、
A、B、Cの各パネルのキャプチャーを取得し、各々をやや縮小して別のフォームに横並びに貼り付けて、画面に一覧表示させることは可能でしょうか。
よろしくお願いいたします。
0373デフォルトの名無しさん
2009/09/05(土) 14:14:020374デフォルトの名無しさん
2009/09/05(土) 14:26:14仮にFormを画面左上に移動する関数MoveForm()を作ったとして
あとで、移動先を自由に決めたい、MoveForm(int x, int y)みたいなのが欲しいなーって思ったとします
それでこのとき、引数無しのMoveFormと有りのMoveFormの差は、移動先が決め打ちかどうかの違いしかなかったとします
こういう時は、どういう風に書けばいいのですか?
例えば、MoveForm(int x, int y)という風にオーバーロード?して、その中に引数無しの時との「違い」だけを書くということことがしたいです。
0375デフォルトの名無しさん
2009/09/05(土) 14:31:26{
MoveForm(0,0);
}
void MoveForm(int x, int y)
{
//移動処理
}
0376デフォルトの名無しさん
2009/09/05(土) 14:39:51どうすればできるのでしょうか…。
何かヒントを…。
0378デフォルトの名無しさん
2009/09/05(土) 14:46:31質問に答えているだけだろ。大人げないとは思うがw
質問する方も素直に、判らないのでどうすればいいか教えて下さいって書けよ。
0379デフォルトの名無しさん
2009/09/05(土) 14:48:51質問に「リテラルに」答えてるだけだと思うよ。
それは>>373がただ意地悪な人間なだけかのか、それとも他のになにか原因もあるのかは
よく考えたほうがいいと思うな。
0380デフォルトの名無しさん
2009/09/05(土) 14:50:42なるほどー!
引数無しの方をなんというか「オリジナル」みたいに考えていたので
これにどう「付け足すか」っていう風にしか考えることができてなかったです
続けて質問して申し訳ないんですが
オーバーロードの使い方ってどんな風に使うんですか?
OnPaintとかをオーバーロードしてるのは本にあったのですが
自分で作るときにうまく当てはめることができないです。
0381デフォルトの名無しさん
2009/09/05(土) 14:51:37教えていただけないでしょうか。
dobonさんのページにキャプチャー機能があるとは書いていましたが、縮小拡大が分かりません。
0382デフォルトの名無しさん
2009/09/05(土) 14:52:22オーバライドじゃなくて?
0383デフォルトの名無しさん
2009/09/05(土) 15:05:380384デフォルトの名無しさん
2009/09/05(土) 15:15:09そのキャプチャー機能とやらがどういう風なのか知らないし
やりたいこともいまいち意味がわからんが…
画像の拡大縮小はちょっと調べたら出てくるよ
一番簡単なのはDrawImageにそのまま希望するサイズを書くことかな。
// ここまでに何かしらしてGraphics GとBitmap bmpを取得しているとする...
G.DrawImage(bmp, 0, 0, 800, 600);
bmp.Save("hoge.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
0385デフォルトの名無しさん
2009/09/05(土) 15:19:04別フォームのPictureBoxとかに貼り付けるなら最後に連結したbitmapをそのまま送り込めばいいんじゃない?
つーか悪いこと言わんから他の方法考えろよ
0386デフォルトの名無しさん
2009/09/05(土) 15:24:020387デフォルトの名無しさん
2009/09/05(土) 20:26:01ゲームとかならともかくふつうのアプリ作ってる時にうまくオブジェクトとして切り分けできん
個人で極々規模の小さいものしか作ってないから「動くからいいか」ってなってるのも悪いって自覚はしてるんだがな…
0388デフォルトの名無しさん
2009/09/05(土) 20:28:140389デフォルトの名無しさん
2009/09/05(土) 20:53:29新しいフォームを作成しました。
継承先でパネルAにコントロールやデータグリッドビューをたくさん配置したのですが
継承元のフォームでパネルAを削除してリビルドしました。
継承先のフォームからパネルAの箇所がごっそり消えていたので安心していましたが、
パネルAに置いていたコントロールがどうも残っているようです。
これは、やり直した方がいいでしょうか。
0390デフォルトの名無しさん
2009/09/05(土) 20:55:200391デフォルトの名無しさん
2009/09/05(土) 20:56:57フォームAは共通にして,パネルAやパネルBのところをユーザコントロールで差し替えられるようにするのが普通
0392デフォルトの名無しさん
2009/09/05(土) 21:02:23冷たいこと言わないで答えてあげようよ。
俺たちは同士じゃねえか。
0393デフォルトの名無しさん
2009/09/05(土) 21:03:55やり直しはできないものなのかな。
デザイナーのところで消していくとどうなるんだろ。
他にもゴミが残るの?
0394デフォルトの名無しさん
2009/09/05(土) 21:14:24皆さんありがとうございます。
契約書作成フォームなのですが、
入力項目が多いので1画面に収まりきりません。
なのでスクロールバーや、モーダルフォームを加えて入力をしてもらうようにしているのですが、
利用者がパソコンが苦手な人が多く、
ふと画面から隠れてしまったものがどこにいったのか気になるようです。
なので、
「入力内容一覧」ボタンを置いて、
そこをクリックしたら全入力内容を凝縮させて1枚のパネルやフォームで表示させたいと思ったんです。
けど…文字が小さくなりますもんね。
皆さんはどのような工夫をされているのでしょうか。
0395デフォルトの名無しさん
2009/09/05(土) 21:16:06なんか数週間前から同じ質問を何度もずっとしてるようだけど、
同じところで何度聞いても同じだと思うよ。
っていうか、どこで聞いても恐らく同じこと。
やろうとしてることに無理があるんだから。
0396デフォルトの名無しさん
2009/09/05(土) 21:27:340397デフォルトの名無しさん
2009/09/05(土) 21:32:43入力をいくつかのモーダルフォームに分けて順次入力させれば良いんじゃないの?
あとはそのモーダルフォームが隠れないようにすれば。
0398デフォルトの名無しさん
2009/09/05(土) 21:38:000399デフォルトの名無しさん
2009/09/05(土) 21:43:190400デフォルトの名無しさん
2009/09/05(土) 21:56:28全てのモーダルが隠れないようにできるの?
やや重ねたらいいのかな。
0401デフォルトの名無しさん
2009/09/05(土) 21:58:24ですが、どなたかご経験者の方、
教えていただけないでしょうか。
自分も、>>389と同じで、
実態のないコントロールが残っていて悩んでいます。
(-_-;)。
0402デフォルトの名無しさん
2009/09/05(土) 22:02:360403デフォルトの名無しさん
2009/09/05(土) 22:05:12「見えない」仕様なんだろう。
アクセス修飾がprivateの場合との整合性をとるためか、ただ実装が
面倒だからかは知らないが。
いずれにせよ、普通は>>391の指摘どおりにするよ。
0404デフォルトの名無しさん
2009/09/05(土) 22:13:58モーダルフォームの表示時は大きめに表示させて、
入力が終われば小さく縮小してパネルの片隅に納めたらいいんじゃないか?
けどそれじゃ、>>394がやろうとしていたことと同じか。
できるかどうかも分からないのに書いてしまったが。
0405デフォルトの名無しさん
2009/09/05(土) 22:18:49無理して、多くの項目を1画面に圧縮したところで、
ユーザーが読むことができるのか?
若者だけが使うのならいいかもしれないけど、
高齢者も利用するのなら、文字が小さいことが逆にストレスになると思うよ。
うーん、どうすればいいんだろう。
0406デフォルトの名無しさん
2009/09/05(土) 22:30:05仕様がわからないから見当違いかも知れないけど。
・入力フォームとは別に入力済みのデータの一覧か、出力帳票のイメージを表示するフォームを用意して、
両方を同時に見れる&操作できるようにする
-> 別のフォームは可変サイズでスクロールバーを用意するか
縮尺率を自由設定(画面に収まるように自動調整機能あり)出来るようにする
・入力フォームに折り畳み機能を付ける
-> 秀丸エディタみたいに画面左側に + とか - みたいなボタン?を用意して、ブロックごとに
表示したり消したりユーザの自由に出来るようにする
・入力データの属性を分類して、分類ごとに入力画面をまとめる
まとめたらタブコントロールを利用する
たいていは3つめを使う。
0407デフォルトの名無しさん
2009/09/05(土) 22:32:31あんまり綺麗なやり方じゃないけど1枚辺り1フォームで数個のフォームを同時起動するとかは?
画面から契約書が消えることがダメなら>>398が言うみたいにキー操作で画面切り替えしていくのもダメな訳?
0408デフォルトの名無しさん
2009/09/05(土) 22:47:39ブラウザ上のテキストボックスに文字を入力させたいです。
書き込む文字云々はできてますが、肝心のそこがわかりません。
テキストファイルに書き込むとかなら方法わかるのですが…
どのようにして、ブラウザ上のテキストボックスを判定して
どうやって書き込めばいいのでしょうか。。。
なんでもいいです、ヒントをください。
0409デフォルトの名無しさん
2009/09/05(土) 22:55:04自分なら、折り畳み方式となる 2 番目を選ぶ。
動作は jQuery のアコーディオンや、WPF の Expander 的にする。
実装に際しては、全体の折り畳み状態のワンタッチ切り替えも付ける。
画面遷移方式の場合、入力不足などを提示するのが難しいし、画面に
よってコントロール数が偏りやすい点がイマイチかな。
0410デフォルトの名無しさん
2009/09/05(土) 22:59:520411デフォルトの名無しさん
2009/09/05(土) 23:02:34キー操作で画面切り替えするのって、
alt+tabみたいなイメージ?
それとも、
alt+kで画面A、alt+Lで画面Bみたいなの?
0412デフォルトの名無しさん
2009/09/05(土) 23:17:07ユーザーもびっくりのいい設計だと思う。
ただ、>>394の対象ユーザーが、全入力内容に対する一覧性を求めているようなので、
>>406の1番目もユーザー寄りのいい設計になるかと思う。
全項目を網羅した単票を用意して画面右側にプレビューさせる。
プレビューの文字が小さすぎなければいいけど…。
作るのは…超めんどくさいな。
0413デフォルトの名無しさん
2009/09/06(日) 00:39:071行目で書いたのは前者で2行目は後者のイメージかな
0414デフォルトの名無しさん
2009/09/06(日) 00:58:51Window windowlocation = new Window();
windowlocation.WindowStartupLocation = WindowStartupLocation.Manual;
windowlocation.Left = 700;
のほかになにが不足してますか?
0415デフォルトの名無しさん
2009/09/06(日) 01:14:03ドキュメントペイン作って中でスクロールさせちゃえよ。
PDFとかプレゼンテーションツールみたいに操作します。って言えばいい。
既存のUIの方がわかりやすいと思うんだよなぁ。
0416デフォルトの名無しさん
2009/09/06(日) 01:17:24Leftの他にTopも必要じゃないの?
WPF知らんけど
0417デフォルトの名無しさん
2009/09/06(日) 01:25:530418デフォルトの名無しさん
2009/09/06(日) 02:16:100419デフォルトの名無しさん
2009/09/06(日) 02:22:19でどれが嘘?
0420デフォルトの名無しさん
2009/09/06(日) 02:56:33コメントは2008から表示されてるとか2010の評価版は型の色分けされてるとか
ツールチップのフルクラス名についてはたぶん勘違いだと思う
あとoverrideはOverridesと間違えてないか
0421デフォルトの名無しさん
2009/09/06(日) 03:05:28書いてくれた相手に失礼だ。
憶測も立派な意見。
大抵は憶測から新しい発見がある。
0422デフォルトの名無しさん
2009/09/06(日) 04:21:03確かに画像はキャプチャーされるし拡大縮小のロジックもあったけど、
もし画面やコントロールのキャプチャーをとり、縮小表示させた。いのであれば要注意だ。
画像を縮小したら文字がつぶれてしまうぞ。
例えば文字フォント9ポイントの入力フォームを作成し、それの縮小番も見たら、画像がぼやけていた。
0423デフォルトの名無しさん
2009/09/06(日) 04:57:180424デフォルトの名無しさん
2009/09/06(日) 05:04:09どうすれば良いでしょうか。ToString()等では取れませんでした。
いったんMemoryStreamに吐き出してから
ReaderでRead()することで動作は実現しましたが…。
0425デフォルトの名無しさん
2009/09/06(日) 05:28:580426デフォルトの名無しさん
2009/09/06(日) 06:21:530427デフォルトの名無しさん
2009/09/06(日) 06:23:25そうなんだけど…
画像キャプチャーしてサムネイルみたいに縮小させる表示は俺も覚えておこうと思っていた。
結局は、縮小は特に画像が劣化してしまうね。bmp90%でもかなり汚くなった。
きれいになんかできないよね。
…カクン。
0428デフォルトの名無しさん
2009/09/06(日) 07:38:120429デフォルトの名無しさん
2009/09/06(日) 07:46:51木とブランコの絵思い出したわ。
0430デフォルトの名無しさん
2009/09/06(日) 08:38:13概要を…教えてもらえませんか?
今、ネットで探したけど見つかりませんでした。
0431デフォルトの名無しさん
2009/09/06(日) 08:41:43見映えが良いなら、採用したいんじゃないか?
裏に隠れた項目も含めて、一覧で全項目を画面表示できたら壮快だし。
僅かながらのサプライズもあるだろう。
彼はそのサプライズを求めているのだろうけど、気持ちは分かる。
0432デフォルトの名無しさん
2009/09/06(日) 08:57:11つ http://www.atmarkit.co.jp/fdotnet/dotnettips/023resize/resize.html
0433デフォルトの名無しさん
2009/09/06(日) 09:36:580434デフォルトの名無しさん
2009/09/06(日) 10:15:08バージョン特定ったって、2010はないだろ。
今VBで確認してみたが、
ツールチップでフルクラス名は表示されない。
リファクタ機能はない(少なくとも標準の機能では)。
自作ライブラリのコメント表示は2008からはできるようになってるな(2005ではできなかった、もしくは制限があった)。
クラスの色分けはされない。
Overridesは2008ではできるようになってるな(2005ではできなかったと思うが)。
0435デフォルトの名無しさん
2009/09/06(日) 10:23:15>本当にVB(2005以降)の使ったことある?
>嘘はいかんと思うよ。
こうなるのか不思議だよ。
0436デフォルトの名無しさん
2009/09/06(日) 10:25:36字が小さいなら拡大鏡みたいな機能を付けるのも簡単
0437デフォルトの名無しさん
2009/09/06(日) 13:35:19リファクタ機能は2005からある(C#に比べて貧弱だが)
まあ、Refactor!っていうフリーで使えるアドインも一応あるし。
オーバライドの入力支援も、少なくとも2003からある。
ただし2003の時代はエディタ上部のドロップダウンから選択する方式だったが。
>>435
あんた不思議な思考回路してるな。
これが俗に言う「幸せ回路」って奴かな。
最近流行り(?)の「新型うつ」っていうのはこういう思考回路の人がかかる病気なんだろうな恐らく。
0438デフォルトの名無しさん
2009/09/06(日) 14:01:07アドインで追加するのは今の話と違うんじゃないの?
オーバーライドだけは勘違いだったみたいだが。
で、それでも事実上4つは正しいのに幸せ回路とか
お前ちょっとおかしいんじゃないか?
5つの内4つは正しいのに、嘘書くな、使ったことないだろって書く方が正常なわけ?
まともに言い返せないから意味不明な人格攻撃を始めるやつの方がまともとは思えんね。
0439デフォルトの名無しさん
2009/09/06(日) 14:07:23自動化できて早ければいいじゃん
人間様がそれで楽できれば
0440デフォルトの名無しさん
2009/09/06(日) 14:13:01「幸せ回路クン」って何でも自分に都合がいいように解釈するから
議論が成り立たないのがよくわかったよ。
0441デフォルトの名無しさん
2009/09/06(日) 14:27:04リファクタ機能が名前変更だけはできるってのはわざわざ書かなかっただけ。
名前変更できるだけではリファクタ機能があるとは言えんだろう普通。
つか元々C#で使える他のリファクタ機能が使えないことをさして言ったんだ。
ちょっと言葉足らずだったとは思うが普通意図は通じるだろう。
オーバーライドだけは勘違い。
君はこの2つを指して嘘とか使ったことないだろとか都合がいいなんて言ってるの?
まあもう言っても無駄なタイプだと思うけど。
0442デフォルトの名無しさん
2009/09/06(日) 14:29:05でもさ、自動化できて早くなったとしても肝心の人間の中身が
つまらんことで言い合ってスレを消費するような阿呆だったら変わりないよな。
0443デフォルトの名無しさん
2009/09/06(日) 14:36:33http://www.atmarkit.co.jp/fdotnet/dotnettips/023resize/resize.html
まあ、そうはいってもそんなにたいしたことないから
本気でやりたいならライブラリとか探した方がよさそう。
0444デフォルトの名無しさん
2009/09/06(日) 14:42:270445デフォルトの名無しさん
2009/09/06(日) 14:45:52だから”本気でやりたいなら”って書いたじゃん
0446デフォルトの名無しさん
2009/09/06(日) 14:51:30標準の機能だけでもほとんどその上限レベルだから、
良くしようがないんじゃないかって話。
0447デフォルトの名無しさん
2009/09/06(日) 14:52:42何言ってんの?
0448デフォルトの名無しさん
2009/09/06(日) 14:53:28まったく調べてもないし妄言だと思ってください。
0449デフォルトの名無しさん
2009/09/06(日) 14:57:48まあ期待される結果になるかは別問題ではあるけど。
0450デフォルトの名無しさん
2009/09/06(日) 14:58:220451デフォルトの名無しさん
2009/09/06(日) 15:05:440452デフォルトの名無しさん
2009/09/06(日) 15:06:310453デフォルトの名無しさん
2009/09/06(日) 15:08:35ソース画像は持ってるもんな。
でも全体が潰れてる訳だから全部拡大鏡で見なきゃいけないからそれが優しいGUIかどうかは…。
0454デフォルトの名無しさん
2009/09/06(日) 16:56:52どう宣言すればよいのでしょうか?
0455デフォルトの名無しさん
2009/09/06(日) 17:01:03C#でもおk
0456デフォルトの名無しさん
2009/09/06(日) 18:14:02DOCKはないんですか?
せっかく楽にきれいな罫線が引けると思ったのに。
パネルもテキストボックスもラベルも、ボーダーラインは黒か3Dしかないしさ。
寂しくて辛くて飲まずにはいられません。
0457デフォルトの名無しさん
2009/09/06(日) 18:21:200458デフォルトの名無しさん
2009/09/06(日) 18:29:34以下のような機能をもつニコニコ動画やYoutubeを観るための
専用ブラウザを作ろうとしています
【機能】
ニコ動上で検索結果一覧からある動画を選んだ際、
その動画に含まれる映像シーンと同じシーンを含む動画を
検索結果の一覧に含まれる動画を探索して取得
言語はC#です。調べた限りではおそらく以下のような流れになると
考えているのですがもっと良い方法はあるでしょうか?
1..動画を選択した際にニコ動のAPIにアクセス→FLV取得
2.FLVをaviに変換(この辺自信ありません)
3.シーンに分割
4.検索結果内の動画を取得し,同様にシーンに分割
5.選択した動画におけるシーンと総当たりで比較
画像解析にはOpenCVというライブラリが良いということを聞いたので
それを使おうと思っています。宜しくお願いします。
0459デフォルトの名無しさん
2009/09/06(日) 18:35:42はた迷惑なソフトだな
0460デフォルトの名無しさん
2009/09/06(日) 18:37:040461デフォルトの名無しさん
2009/09/06(日) 18:38:26何に使うためにそんなことするの?
かなりの高スペPCでも処理時間半端じゃないと思うんだが。
0462デフォルトの名無しさん
2009/09/06(日) 18:39:49P2P感覚で動画を地引きしたいんだろ。
0463デフォルトの名無しさん
2009/09/06(日) 18:40:043.5のsp1からついてる線引きコントロールさ。
ドックがなきゃ、危なくて使えねえよ。
0464デフォルトの名無しさん
2009/09/06(日) 18:49:55目的は卒業研究です
上記ではブラウザと書きましたが特にブラウザにこだわる必要はなく
入力として一つの動画が与えられた時に、それと同一シーンを含む
動画を抽出するシステムがあれば問題ないです
C#しか使ったことがないので、クライアントサイドのアプリケーションしか
思い浮かびませんでした
何か良い方法はありますでしょうか?
0465デフォルトの名無しさん
2009/09/06(日) 18:52:32吐きそうになるわ。
0466デフォルトの名無しさん
2009/09/06(日) 18:56:060467デフォルトの名無しさん
2009/09/06(日) 18:57:070468デフォルトの名無しさん
2009/09/06(日) 18:58:37そのOpenCVがどういうライブラリかも知らんけど
もっと他のアプリ作る訳にはいかんわけ?
0469デフォルトの名無しさん
2009/09/06(日) 19:00:22とりあえず458の方法で作ってみればいいじゃん
なんでプロトタイプスラ作らないで質問しに来るわけ
0470デフォルトの名無しさん
2009/09/06(日) 19:01:55それを使えよ
0471デフォルトの名無しさん
2009/09/06(日) 19:02:200472デフォルトの名無しさん
2009/09/06(日) 19:03:140473デフォルトの名無しさん
2009/09/06(日) 19:04:27上記の力技でもやれんことはないことは分かってるけど
早く出来る方法があれば知りたかっただけ
あんがと
0474デフォルトの名無しさん
2009/09/06(日) 19:05:14「あいうえお」と入れて、別のラベルにも表示させたいのですが、
「あ」「い」など、1文字単位で確定したときに、ラベルに反映させる方法はありますか?
もしあれば教えてください。
よろしくお願いします。
0475デフォルトの名無しさん
2009/09/06(日) 19:05:20これはあくまで研究の一部分です
0476デフォルトの名無しさん
2009/09/06(日) 19:06:24>>474
TextBoxにTextChangedとかいうイベントがある
0477デフォルトの名無しさん
2009/09/06(日) 19:07:140478デフォルトの名無しさん
2009/09/06(日) 19:09:23変換確定前にそういう事をしたいとエスパーすると
Imm〜
系のWinAPIを使うしかないんじゃね
0479デフォルトの名無しさん
2009/09/06(日) 19:09:51社会学系の文系院で
理論検証にプログラムが少し要るってことです
0480デフォルトの名無しさん
2009/09/06(日) 19:09:520481デフォルトの名無しさん
2009/09/06(日) 19:10:590482デフォルトの名無しさん
2009/09/06(日) 19:11:110483デフォルトの名無しさん
2009/09/06(日) 19:12:590484デフォルトの名無しさん
2009/09/06(日) 19:13:290485デフォルトの名無しさん
2009/09/06(日) 19:14:00わかりました
ありがとうございます
0486デフォルトの名無しさん
2009/09/06(日) 19:20:49幼稚な煽りは気にすることはないと思うが、
少なくとも今のPCの性能じゃ無理。
恐らく10年後のハイエンドPCでも無理な仕様だと思う。
0487デフォルトの名無しさん
2009/09/06(日) 19:22:19下手に卒研なんて出すのが阿呆。
0488デフォルトの名無しさん
2009/09/06(日) 19:26:55これが2ch脳かね。人間として終わってるだろ。
0489デフォルトの名無しさん
2009/09/06(日) 19:29:34ですよね・・・・。
なんとか別の手段を考えてみます・・。
0490デフォルトの名無しさん
2009/09/06(日) 19:33:38サーバに迷惑だけはかけるな
0491デフォルトの名無しさん
2009/09/06(日) 19:35:12まともな回答が来ないのはお前の質問の仕方が…
と言おうと思ったが言う前に低脳がいっぱい沸いてたわ
答えにくいなら答えなくてもいいが理論の検証には何が必要なんだ?
もしくは、どういう理論を証明したいんだ?
あの方法でやらなくてもいいんだとして最低限これは必要ってのはないのか?
0492デフォルトの名無しさん
2009/09/06(日) 19:41:33回答してくれた方ありがとうございました
0493デフォルトの名無しさん
2009/09/06(日) 19:43:48まあ、それがわからんことにはこっちも他の方法を考えることができんし
自分でなんか他の方法考えついたらまた聞きに来たら?
0494デフォルトの名無しさん
2009/09/06(日) 19:44:480495デフォルトの名無しさん
2009/09/06(日) 19:47:25ありがとうございます
>>494
うんこ
0496デフォルトの名無しさん
2009/09/06(日) 19:49:460497デフォルトの名無しさん
2009/09/06(日) 19:51:500498デフォルトの名無しさん
2009/09/06(日) 20:20:29自己紹介してるようにしか見えんな
0499デフォルトの名無しさん
2009/09/06(日) 20:28:38休みがあと少しだからって興奮すんなよ
0500デフォルトの名無しさん
2009/09/06(日) 20:28:52クラスA
メソッドA
メソッドA’
メソッドB
メソッドB’
プロパティX
のように、プロパティXの値によってメソッドAかメソッドA’ メソッドBかメソッドB’のどちらかが呼び出されます
でも呼び出し側はそれを意識したくありません
将来的に分岐はこれ以上増えません あくまで2つのうちどちらかに分岐します
こんなときはどんなパターンを使えばいいでしょうか?
一つのメソッドの中でifで分岐しちゃうのが一番楽ですか?
ちなみにメソッドはこの先増える可能性があります
0501デフォルトの名無しさん
2009/09/06(日) 20:28:560502デフォルトの名無しさん
2009/09/06(日) 20:31:14Stateパターン
0503デフォルトの名無しさん
2009/09/06(日) 20:31:500504デフォルトの名無しさん
2009/09/06(日) 20:43:28すみません。重要なことですが、状態は(分岐条件は)アプリケーション実行中に変化します。
0505デフォルトの名無しさん
2009/09/06(日) 20:50:010506デフォルトの名無しさん
2009/09/06(日) 20:52:590507デフォルトの名無しさん
2009/09/06(日) 20:57:05数値のみ入力を受け付ける様にする事は出来たのですが、
�A�B�Cも入力を許可したい場合にはどうすれば良いでしょうか?
�@ 数値
�A ピリオド
�B BackSpace
�C Delete
private void txtTest_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar < '0' || e.KeyChar > '9')
{
e.Handled = true;
}
}
0508デフォルトの名無しさん
2009/09/06(日) 20:58:14ちょっと調べてみます。ありがとうございました。
>>503
わたしも最初それが思い浮かんだんですが、実行中に条件が変化したらって考えると・・・
>>506
Factoryは使ったことあったんですが、工夫すれば使えますがなんか遠回りしてる気がしたんで・・・ありがとうございます
0509デフォルトの名無しさん
2009/09/06(日) 20:59:01→そのまま
分岐が常に2パターンで、増えるメソッドの方も常に2パターン分岐する
→>>502
0510デフォルトの名無しさん
2009/09/06(日) 21:05:19ありがとうございます 解説読んでてStateパターンがよさそうと思いました
とりあえず試してみます。ありがとうございました。
0511デフォルトの名無しさん
2009/09/06(日) 21:57:09こういうのは自分で考えた方がためになるよ?
動作確認はしてないし、この方法だとたぶん制約があるから、確認はちゃんとしてね。
System.String ok = "0123456789."
e.Handled = ( 0x20 <= e.KeyChar ) && ( 0 > ok.IndexOf( e.KeyChar ) );
0512デフォルトの名無しさん
2009/09/06(日) 22:17:44ちなみに、BSかDELのどちらか(確かBSの方だったと思うけど・・・)は
KeyDownの方でないと弾けない。
0513デフォルトの名無しさん
2009/09/06(日) 22:27:19ありがとうございます。参考にさせて頂きます。
0514デフォルトの名無しさん
2009/09/06(日) 23:45:260515デフォルトの名無しさん
2009/09/07(月) 00:23:470 0 ワイズ 0
0 0 0 ハイト
0 ハイト ワイズ ハイト
ワイズ 0 ワイズ ハイト
と記載しました。
下の2つが無視されているようです。
なぜでしょうか。
0516デフォルトの名無しさん
2009/09/07(月) 00:25:500517デフォルトの名無しさん
2009/09/07(月) 00:50:12今年は(10年区切りで)2000年代最後の年なわけだけど、2010年ではない。
この意味わかる?
っていういか、こういう算数レベルのことが直感的にわからない人は
プログラマ向いてないよマジで。
0518デフォルトの名無しさん
2009/09/07(月) 00:51:100519デフォルトの名無しさん
2009/09/07(月) 00:51:50wiseが意味不明だけど
0520デフォルトの名無しさん
2009/09/07(月) 00:52:380521デフォルトの名無しさん
2009/09/07(月) 00:56:050522デフォルトの名無しさん
2009/09/07(月) 01:01:43Goo辞書で発音聞けますよ
0523デフォルトの名無しさん
2009/09/07(月) 01:03:420524デフォルトの名無しさん
2009/09/07(月) 01:06:400525デフォルトの名無しさん
2009/09/07(月) 01:12:37大昔ヤマハのPCでそんな名前のがあったような
0526デフォルトの名無しさん
2009/09/07(月) 01:12:450528デフォルトの名無しさん
2009/09/07(月) 01:26:46恥ずかしいことじゃない
俺も知らんかったからな
0529デフォルトの名無しさん
2009/09/07(月) 01:27:05いにゅまらぶる
0530デフォルトの名無しさん
2009/09/07(月) 01:56:4930年前、BASIC始めたとき俺もそう呼んでいたな
WIDTH 80,25
0531デフォルトの名無しさん
2009/09/07(月) 04:15:41俺も思ったw
0532デフォルトの名無しさん
2009/09/07(月) 06:42:34ヘイト?
ワイス?
何て読むのが通常なの?
0533デフォルトの名無しさん
2009/09/07(月) 06:45:13彼の指定は範囲外になるの?
一見、範囲内の境界座標を指定しているように見えるが…。
0534デフォルトの名無しさん
2009/09/07(月) 06:46:10ヘイ
ウィスス
0535デフォルトの名無しさん
2009/09/07(月) 07:25:13(0, 0) (width-1, 0)
┌────────┐
└────────┘
(0, height-1) (width-1, height-1)
0536デフォルトの名無しさん
2009/09/07(月) 08:25:49方法あれば教えてください
0537デフォルトの名無しさん
2009/09/07(月) 09:42:160538デフォルトの名無しさん
2009/09/07(月) 10:36:32自前描画は一切無しで自由自在に外観を操れる
0539デフォルトの名無しさん
2009/09/07(月) 17:22:39Graphicsには
TranslateTransform()
RotateTransform()
などのサポートがありません
画像を任意の角度で回転させたいのですが、よい方法がありませんか?
90度刻みではちょっと困りまして・・・imgeのRotateFlipではもの足りません
CかC++の座標変換と補完のサンプルプログラムなどでもかまいません
あるいはフリーのライブラリでもかまいません(小さいやつがいいですが)
よろしくお願いします
0540デフォルトの名無しさん
2009/09/07(月) 17:27:28高校レベルじゃん?
0541デフォルトの名無しさん
2009/09/07(月) 18:05:290542デフォルトの名無しさん
2009/09/07(月) 20:08:27回転行列を全ての座標に施せばいいとでも思ってるのかw
0543デフォルトの名無しさん
2009/09/07(月) 20:12:50DirectX(SlimDXorMDX)の方が楽な気がする
0544デフォルトの名無しさん
2009/09/07(月) 20:13:01ユーザビリティーに優れたインターネットサイトを教えてください。
ユーザビリティーに優れたアプリを作らなければいけないんだけど、アイデアもスキルもありません。
会社を退職に追いやられるかもしれません。
ユーザビリティーに優れたサイトを教えてください。
0545デフォルトの名無しさん
2009/09/07(月) 20:15:230546デフォルトの名無しさん
2009/09/07(月) 20:29:17ユーザビリティーとは、使いやすくて面白くて優しくてまた使いたいと思って手が話せなくて美しくてサプライズがあって嬉しいこと。
0547デフォルトの名無しさん
2009/09/07(月) 20:49:000548デフォルトの名無しさん
2009/09/07(月) 21:22:39WPF触ったことなかったのですが、簡単にできました
ありがとうございます
0549デフォルトの名無しさん
2009/09/07(月) 21:57:54それとも囲うべきものと囲わなくていいてものがありますか?
あと、あるクラスを使おうとおもったときに、それが IDisposable を実装しているか
どうか簡単に調べる方法ありますか?いまはヘルプでしらべてるんですが、
そのクラスが直接 IDisposable を実装してれば簡単なんですけど、
継承元があると順々にヘルプを見ていくのが面倒なもので。
0550デフォルトの名無しさん
2009/09/07(月) 22:11:460551デフォルトの名無しさん
2009/09/07(月) 22:15:16ドット打ってIntelliSenseにDisposeが出てくればIDisposable。
でいいんじゃないかな(たまに隠れてるのもありますが9割方はOK)。
正確に調べたければ右クリックして定義に移動、そんなに手間かからないでしょ。
0552デフォルトの名無しさん
2009/09/07(月) 22:15:580553デフォルトの名無しさん
2009/09/07(月) 22:34:11毎回忘れて悩む俺。
Stremをその後使わないなら両方Closeしてもいいんだっけ。
どうもこのあたり釈然としない。
0554デフォルトの名無しさん
2009/09/07(月) 22:40:18WINフォームを作成しながら、時々WPFを使うことはできないの?
0555デフォルトの名無しさん
2009/09/07(月) 22:54:13StreamReader/Writer.Closeは元のStreamごとClose
元のStreamを閉じたくなかったら(WriterならFlushして)放置
0556デフォルトの名無しさん
2009/09/07(月) 22:54:17やったことはないが、できることはできる。ここを参照。
http://msdn.microsoft.com/ja-jp/library/ms753178%28VS.80%29.aspx
0557デフォルトの名無しさん
2009/09/07(月) 23:02:04そうかありがとう。
なんか分かりにくくてミスリーディングな仕様のような気もするけど、
それはたぶん俺の理解が浅いからなんだろうね。
0558デフォルトの名無しさん
2009/09/07(月) 23:02:53ちょっとロードマックみてください
最終的な画像の大きさはピクチャーボックスの表示領域と決っているので
まず、最終的な画像の大きさと同じビットマップを作成
for(x=0;x<=xmax;x++)
for(y=0;y<=ymax;y++)
逆回転の計算をしてソース画像のピクセル情報を取得してコピー
座標がソース画像をはみだしたら背景色で埋める
loop
loop
こんな感じで考えてますが・・・
もと画像がでかい上に最終的な領域を計算で求めてから元画像のビットマップを
ループするより簡単かつ補完の必要がなさげ・・・・
>>543
SlimDX MDX ってWindows mobile や Framework compackt もカバーしてますか?
サイズが小さければ使いたいですが、ちょっと見ただけではカバーしてなさげで・・・
0559デフォルトの名無しさん
2009/09/07(月) 23:11:08うん、極めて明快な仕様だと思うよ。
ドキュメントが記述不足なのは確かだけどね。
0560デフォルトの名無しさん
2009/09/07(月) 23:18:38つ「.NET Compact Framework での Mobile Direct3D プログラミング」
.NET CF2.0以降なら標準でついてるはず
どんなことができるのかは知らん
0561デフォルトの名無しさん
2009/09/07(月) 23:55:16見てみます!ありがとう
0562デフォルトの名無しさん
2009/09/08(火) 00:06:06配列の合成の話がありましたが、ふたつの配列のうち、いっぽうにあるものを取り除く方法を教えてください。
いっほうが配列で、もういっぽうがstringであれば、
string dislikeitem = "あんまん";
string[] menuitems = {"肉まん","あんまん","ピザまん","茄子","ゴーヤいり卵焼き"};
string favoritemenu = "";
foreach(string item in menuitems) {
if (!item.Contains(dislikeitem) && !favoritemenu.Contains(item)) favoritemenu = favoritemenu + item + "\r\n";
}
MessageBox.Show(favoritemenu);
のように書けるのですが、もういっぽうも配列になったときの比較の方法がわかりません。
string[] dislikeitems = {"にがうり","ゴーヤ","あんまん"};
0563デフォルトの名無しさん
2009/09/08(火) 00:24:33// 拡張メソッドならExceptがあるけど、比較にラムダ式使えないのは面倒だなー
0564デフォルトの名無しさん
2009/09/08(火) 00:26:01質問とは直接関係ないがStringBuilder使え。
んで、ループをforeachやめてforの2重ネストループにしろ
0565デフォルトの名無しさん
2009/09/08(火) 00:27:340566デフォルトの名無しさん
2009/09/08(火) 00:29:250567デフォルトの名無しさん
2009/09/08(火) 00:32:12見てみましたが3Dに特化した話でした
0568デフォルトの名無しさん
2009/09/08(火) 00:36:55むしろ今までDX7だったことに驚いた。
>>562
もしコードみてわからんかったらもっかい聞け。
string[] menuitems = {"肉まん","あんまん","ピザまん","茄子","ゴーヤいり卵焼き"};
System.Text.StringBuilder favoritemenu = new System.Text.StringBuilder();
foreach(string item in menuitems) {
foreach (string dislikeitem in dislikeitems)
{
if (!item.Contains(dislikeitem) && !favoritemenu.Contains(item))
{
favoritemenu.Append(item + "\r\n")
}
}
}
}
0569デフォルトの名無しさん
2009/09/08(火) 00:46:38長い変数って読むの面倒くさくなるけど
じっさいのコーディングだと普通に長い名前つけるよね
0570デフォルトの名無しさん
2009/09/08(火) 01:00:390571デフォルトの名無しさん
2009/09/08(火) 01:03:34変数名が長くなるのって、関数の粒度が大きすぎる時に起きやすい気がする。
適切に分割して関数にちゃんと名前つけてれば、長い変数名使わなくても十分分かりやすいと思う。
0572デフォルトの名無しさん
2009/09/08(火) 01:11:18ある程度変数長ければ
MenuItemsとかにした方が多少自分の命名ルール破っても読みやすい気がする
0573デフォルトの名無しさん
2009/09/08(火) 02:27:56配列と配列なので、
foreach(string item in menuitems) {
foreach(string dislikeitem in dislikeitems) {
のように重ねて書けばよいのかと思ったのですが、
それだと、
あんまん-にがうりの組み合わせであんまんがヒットしてしまいます。
(とりあえずforeachで実装。)
>>568
ゴーヤいり卵焼きがヒットします。
あとStringBuilderにはContainsがないそうで、uniqは別途処理する必要があるみたいです(それはできます)。
0574デフォルトの名無しさん
2009/09/08(火) 02:54:091.メニューの一つ目を手に取る。itemとする。
2.嫌いなメニューの一つ目を手に取る。dislikeとする。
3.dislikeがitemに含まれているか確認する。
含まれていなければ次の嫌いなメニューの確認。
含まれていれば、このitemは無視する。以降の嫌いなメニューの確認は不要。次のメニューへ。
4.全ての嫌いなメニューに含まれていないことが確認できたら、そのitemを出力する。
次のメニューへ。
さあこのままコード化。
3で含まれていた場合に次のメニューに飛ぶのがちょいと単純ではないけどな。
0575デフォルトの名無しさん
2009/09/08(火) 03:13:560576デフォルトの名無しさん
2009/09/08(火) 03:15:19>>562にはぜひキャメルケースとか憶えてほしい。
0577デフォルトの名無しさん
2009/09/08(火) 03:46:44string[] dislikeitems = { "にがうり", "ゴーヤ", "あんまん" };
IEnumerable<string> diffSet = menuitems.Except(dislikeitems);
string favoritemenu = string.Join("\r\n", diffSet.ToArray());
MessageBox.Show(favoritemenu);
上で出てるけど、LINQ使っていいならExceptで簡単に差集合作れる。
あとはToArrayで配列にして、Joinで結合するだけ。
0578デフォルトの名無しさん
2009/09/08(火) 07:02:56試してないけど
0579デフォルトの名無しさん
2009/09/08(火) 08:36:233D上の板として2Dを描画するのが最近では普通になってるんだよ
0580デフォルトの名無しさん
2009/09/08(火) 09:35:06いや3Dの中でも縦回転以外の回転とかメッシュとか固定小数点化での高速化とか、ほんとうに3Dのためのトピックばかりで・・・
http://homepage2.nifty.com/tsugu/sotuken/rotation/
ここのサンプルでなんとか自作できそうです。
あとはLockBitでさらに高速化できるかな・・・という感じです。
0581デフォルトの名無しさん
2009/09/08(火) 09:43:38高速化というよりLockBits使わないと使い物にならない
0582デフォルトの名無しさん
2009/09/08(火) 10:59:52渡したいのですが、どうやってCastすればいいんでしょうか?
UserDataSet.TESTTBLRow r = UserDataSet.TESTTBL.NewTESTTBLRow();
foo(ref r);
---
private void foo( ref DataRow r )
foo()の中でDataRowの中身を変更しています
0583デフォルトの名無しさん
2009/09/08(火) 11:02:53値型と参照型について勉強しなさい
0584デフォルトの名無しさん
2009/09/08(火) 11:05:51ありがとうございます試してみます
0585デフォルトの名無しさん
2009/09/08(火) 11:11:56それだとゴーヤ入り卵焼きが食卓に並んじゃう!
0586デフォルトの名無しさん
2009/09/08(火) 11:24:370587デフォルトの名無しさん
2009/09/08(火) 11:43:17ありがとうございます。refを削除してブイルドは通るようになりました。
ただ、次のようなコードを書いたときに、
---呼び出し元
foo( UserDataSet.TESTTBLRow r );
int a = r.HOGEHOGE; ← ここでエラー
--呼び出され元
private void foo( UserDataSet.TESTTBLRow row )
{
row = UserDataSet.TESTTBL.FindByPKEY("xxxx"); // (1)
return;
}
FindByをした直後に row を見ると、個々のColumnには確かに値が入っているんですが、
その後r.HOGEHOGEを見るとDBNullに成っているようなのです。
(1)のところでイコール式で代入しているのが駄目なんでしょうか?
0588デフォルトの名無しさん
2009/09/08(火) 11:47:35なぜ駄目か理解しないと意味がない
0589デフォルトの名無しさん
2009/09/08(火) 11:53:06つまり
1) FindBy〜 でメモリ上のどこかにオブジェクトが作られて、オブジェクトへのポインタが返る
2) (1) のところで row = 〜〜 としているので、この時点では row は FindBy〜が作った
オブジェクトの領域を指している
3) 参照型なので、foo() の引数でやり取りされるのはポインタ。つまり r はFindBy〜で確保
されたオブジェクトの領域を指している
と言う感じで、r は FindBy〜で確保された場所をそのまま指しているのでは???
0590デフォルトの名無しさん
2009/09/08(火) 12:03:06そもそも何かを返したいなら返値で返せばよい
0591デフォルトの名無しさん
2009/09/08(火) 12:09:27答えになってないw
0592デフォルトの名無しさん
2009/09/08(火) 12:26:27foo(x); // 紙xに記されている住所を新しい紙yに書き写してfooに渡す
Console.WriteLine(x.Value);//100が出力される
void foo(Hoge y) { //この時点でxとyは別の紙だが書かれている住所は同じ
y.Value = 100; // yに記されている住所をもとにHogeの実体を探し,Valueプロパティに100を代入する
y = new Hoge(); // yに書かれている住所を消しゴムで消して新しく作られたHogeの実体の住所を書く
y.Value = 200; // 初めに作られたHogeには影響しない
}
説明するのは難しいなあ
0593デフォルトの名無しさん
2009/09/08(火) 12:33:57その例で言うとですね、変数rと変数rowには同じobjを指し示すアドレスが入っています。
だからrow.XXXXX を変更すると r.XXXXX も同じように変更される(ように見える)のは貴方が
認識しているとおりです。
ただし、変数rの実体と変数rowの実体は別物です。ここに注意しましょう。
だから変数rowそのものの値を書き換えてしまうと、もはや「rowが示す先のobj」と「rが示す先
のobj」は別物になってしまうんです。
あくまで、「rowが示す先のobjの内容をrが示す先のobjに代入」しなければいけません。
で、そういう場合のために通常Copy()メソッドが用意されていたりするんですが、もし無ければ
自分で全要素コピーする必要があります。ディープコピーとかで調べてみて下さい。
0594デフォルトの名無しさん
2009/09/08(火) 12:52:49まじすか! ありがとうございます。
0595デフォルトの名無しさん
2009/09/08(火) 15:04:47以下のプログラムにて、BeginInvokeによって呼び出されるDoWork内の例外を、メインスレッドで
キャッチしてやるにはどうしたらいいのでしょうか?
Main()内のEndXXX呼び出しでキャッチ出来ると思っていたのですが、どうやら駄目なようです。
改行が多すぎると怒られたので、プログラムは次のレスに貼ります。
0596デフォルトの名無しさん
2009/09/08(火) 15:07:08Action f = DoWork;
return f.BeginInvoke(cb, null);
}
static void EndXXX(IAsyncResult ar){
AsyncResult res = (AsyncResult)ar;
Action del = (Action)res.AsyncDelegate;
del.EndInvoke(ar);
}
static void DoWork(){
throw new System.Exception("例外っす");
}
static void Main(string[] args){
AsyncCallback cb = (ar) =>{
try{
EndXXX(ar);
}
catch (Exception ex){
Console.Write(ex.Message);
}
};
BeginXXX(cb);
Console.ReadKey();
}
0597デフォルトの名無しさん
2009/09/08(火) 15:29:040598デフォルトの名無しさん
2009/09/08(火) 15:34:220599デフォルトの名無しさん
2009/09/08(火) 16:22:36できました。
これを見る前に、自分で考えたので、一日かかっちゃいました。
すこしロジックが違いますが、これで動くようです。
ありがとうございました。
string[] dislikeitems = {"にがうり","ゴーヤ","あんまん"};
string[] menuitems = {"肉まん","あんまん","ピザまん","茄子","ゴーヤいり卵焼き"};
string favoritemenu = "";
bool favorite;
foreach(string item in menuitems) {
favorite = false;
foreach(string dislikeitem in dislikeitems) {
if (item.Contains(dislikeitem)) favorite = true;
}
if (favorite == false && !favoritemenu.Contains(item)) favoritemenu = favoritemenu + item + "\r\n";
}
MessageBox.Show(favoritemenu);
>>576
キャメルケース?
調べてみます。
>>577
LINQは、まだ使ったことがないので、これを機会に勉強します。
ありがとうございました。
…あ。でもこれって、ゴーヤいり卵焼きも入っちゃいますよ。
と、585さんもおっしゃってました…。
>>586
そうか、その手があるか。って、そうじゃなくって。
LINQでゴーヤいり卵焼きをのぞく方法も教えてください。
0600595
2009/09/08(火) 16:26:42ちゃんとメインスレッドでcatchしてるようです。
0601デフォルトの名無しさん
2009/09/08(火) 19:07:08何が起こってるか理解しろよ。
0602577
2009/09/08(火) 19:16:34ゴーヤを外すなんてけしからん!真夏には必須だ!
string[] menuitems = { "肉まん", "あんまん", "ピザまん", "茄子", "ゴーヤいり卵焼き" };
string[] dislikeitems = { "にがうり", "ゴーヤ", "あんまん" };
var diffSet = from x in menuitems
where dislikeitems.All((y) => !x.Contains(y))
select x;
string favoritemenu = string.Join("\r\n", diffSet.ToArray());
MessageBox.Show(favoritemenu);
0603デフォルトの名無しさん
2009/09/08(火) 19:32:01入力した文字列をSQLのWhere句に入れて、
取得された結果を動的にドロップダウンリストに入れたいのですが、
テキストボックスには結果が返ってくるのですが、
ドロップダウンリストは変化がありません
while (myReader.Read())
{
this.MainDataSource.CreateNavigator().SelectSingleNode("/my:travelRequest/my:d取引先名", NamespaceManager).SetValue(myReader.GetString(0)); ←こっちがドロップダウン
this.MainDataSource.CreateNavigator().SelectSingleNode("/my:travelRequest/my:d取引先_担当者", NamespaceManager).SetValue(myReader.GetString(1) + " / " + myReader.GetString(2)); ←こっちがテキストボックス、結果返ってくる
}
すみません、どなたか教えてください。
0604デフォルトの名無しさん
2009/09/08(火) 19:54:51どういう意味で?
0605デフォルトの名無しさん
2009/09/08(火) 20:01:19トライ、キャッチなんだよ。
エラーとサクセスみたいなのでいいだろうが。
0606デフォルトの名無しさん
2009/09/08(火) 20:02:41http://msdn.microsoft.com/ja-jp/library/d14azbfh.aspx
この話でしょ。
0607デフォルトの名無しさん
2009/09/08(火) 20:03:180608デフォルトの名無しさん
2009/09/08(火) 20:05:01ダサい。
0609デフォルトの名無しさん
2009/09/08(火) 20:24:200610601
2009/09/08(火) 20:24:48>ちゃんとメインスレッドでcatchしてるようです。
ここに対して言った。
0611デフォルトの名無しさん
2009/09/08(火) 20:27:01pictureBoxの画像をマウスドラッグでgoogleMapのように滑らかにスクロールさせる方法ってありますか?
またはこのような実装を行う方法ってありますか?
0612デフォルトの名無しさん
2009/09/08(火) 20:27:01>Action f = DoWork;
>return f.BeginInvoke(cb, null);
へえ、こんな風にかけるんか
0613デフォルトの名無しさん
2009/09/08(火) 20:29:58俺もC#勉強中でこの書き方は初めて見た。
一般的にはどうかくんだろう。誰か教えて。
0614デフォルトの名無しさん
2009/09/08(火) 20:39:00マルチスレッドのやり方は幾つかあるし正着ってのはないんじゃないかな。
デリゲートに包むってのはそのうちの一つに過ぎないわけで。
0615デフォルトの名無しさん
2009/09/08(火) 20:40:25非同期デリゲートでググれ
ちなみに、silverlightではサポートされてないので、
コンパイルエラーにはならないが、実行時にエラーが出るので注意
0616デフォルトの名無しさん
2009/09/08(火) 20:58:28ガイドサンクス
0617デフォルトの名無しさん
2009/09/08(火) 22:02:52キャメルケース。パスカル方式のことでしたか。了解しました。
string[] menuItems = {"肉まん","あんまん","ピザまん","茄子","ゴーヤいり卵焼き"};
ってことですね。
っていうか、なんでそう書かなかったんだろ。
ふだんはそう書いているんですが。
>>602
LINQの一端に触れた気がします。
fromとかinとかwhereとかselectというのが、LINQの書式なのですね。
まだ充分じゃないですけど、foreachをネストする書き方にくらべて、圧倒的にスマートなことはわかりました。
ありがどうございます。
0618デフォルトの名無しさん
2009/09/08(火) 22:06:36camelCase PascalCase
0619デフォルトの名無しさん
2009/09/08(火) 23:51:21コードが読みにくい。
まさか実際のソースもそんな書き方して無いよね?
趣味で作ってるのならいいんだけどさ。
で、問題の方だけど、ドロップダウンリストに値を設定してるところがダメなんじゃない?
InfoPathは使ったこと無いからよくわからないけど。
0620デフォルトの名無しさん
2009/09/09(水) 00:48:01一応、これも書いておかないと
Upper Camel = Pascal
Lower Camel = 狭義のCamel
0621デフォルトの名無しさん
2009/09/09(水) 09:22:35Bitmap BmpBuf = new Bitmap("C:\\2008052314460001.jpg");
Picture1.Image = BmpBuf;
画像が表示されません
0622デフォルトの名無しさん
2009/09/09(水) 09:29:100623デフォルトの名無しさん
2009/09/09(水) 09:35:560624デフォルトの名無しさん
2009/09/09(水) 10:20:410625デフォルトの名無しさん
2009/09/09(水) 10:41:29デバッグしてそこ実行時にBmpBufが有効か見てみたか?
Picture1ってどのコントロール?
0626デフォルトの名無しさん
2009/09/09(水) 10:42:26を
@"C:\2008052314460001.jpg"
こうしたい
0627デフォルトの名無しさん
2009/09/09(水) 10:48:28BmpBufはnullでなくサイズプロパティは読み込んだ画像のサイズでした
>>626
あーそういう意味だったのか @使います
0628デフォルトの名無しさん
2009/09/09(水) 10:50:00Picture1はPictureBoxです
0629デフォルトの名無しさん
2009/09/09(水) 10:53:33何かのコントロールの後ろに隠れてないか
サイズが0,0になってたりFormの表示範囲外にいってたりしてないか
0630デフォルトの名無しさん
2009/09/09(水) 11:18:33もう一度一から貼り直してやってみます
コードは間違ってはいませんよね?
再描画されないかもしれないのはおいといて
0631デフォルトの名無しさん
2009/09/09(水) 11:23:00うまくいきました!!
デザイナのコードが壊れてたみたいです
0632デフォルトの名無しさん
2009/09/09(水) 11:23:16paintでGraphicsのDrawImage使うといい。
0633デフォルトの名無しさん
2009/09/09(水) 12:12:39今回.NET Framework 4.0が面白そうな事になってるのを聞き及び、C#に手を出してみようかと思っています。
C#のオススメの教本とかあったら教えてもらえませんでしょうか?
0634デフォルトの名無しさん
2009/09/09(水) 12:20:31DLRやPLINQなんか.NET触ったことない人には全く分からないだろうし
0635デフォルトの名無しさん
2009/09/09(水) 12:27:34ドラッグ中MouseMoveイベントで毎回それやってpictureBoxリフレッシュすると滑らかにならず・・・
0636デフォルトの名無しさん
2009/09/09(水) 12:49:42どんな環境でどうやってんの?
こっちで試す限りでは普通になめらかに動くよ。
Bitmap毎回作ってるとか?
0637デフォルトの名無しさん
2009/09/09(水) 13:43:13よっぽどでかくなきゃそれでもまぁいけると思うぞ
Disposeしてなさそうだけど(Disposeいるっけ?)
0638デフォルトの名無しさん
2009/09/09(水) 20:31:59for (int i = 0; i < 10; i++) {
foreach(string line in lines) {
if {//条件。
break;
}
}
}
で、ifの条件が一致したとき、この位置にbreakを書くと、foreachは終了しますが、外側のforは終了しません。
どこに書けば、外のforも終了できますか?
0639デフォルトの名無しさん
2009/09/09(水) 20:36:37bool exit = false;
foreach(string line in lines) {
if {//条件。
exit = true;
break;
}
}
if (exit) break;//外のforを抜ける
}
もしくは,
for (int i = 0; i < 10; i++) {
foreach(string line in lines) {
if {//条件。
goto EXIT;
}
}
}
EXIT:
0640デフォルトの名無しさん
2009/09/09(水) 20:40:30ラベルに命令はんないといけないから
EXIT:;じゃね?
0641デフォルトの名無しさん
2009/09/09(水) 20:43:090642デフォルトの名無しさん
2009/09/09(水) 20:47:43コンパイル通るの?
前ここではまったんだけど
0643デフォルトの名無しさん
2009/09/09(水) 20:48:380644デフォルトの名無しさん
2009/09/09(水) 20:53:44通る例
EXIT:
Console.WriteLine(x);
}
通らない例
EXIT:
}
とにかく後にステートメントがあればいい。セミコロンだけの場合は空のステートメントがあるとみなされる。
0645デフォルトの名無しさん
2009/09/09(水) 20:55:44じゃあ>>639は嵌るべ
0646デフォルトの名無しさん
2009/09/09(水) 22:03:03thanks.
0647デフォルトの名無しさん
2009/09/09(水) 23:37:400648デフォルトの名無しさん
2009/09/09(水) 23:49:150649デフォルトの名無しさん
2009/09/10(木) 00:27:42配列のindexのように参照する方法はあるでしょうか?
0650デフォルトの名無しさん
2009/09/10(木) 00:34:430651デフォルトの名無しさん
2009/09/10(木) 01:17:53A1〜A5の型が同じなら、とあるクラスにインデクサを実装すればいい。
まぁ、こんな事するんじゃなくてA1〜A5を格納するAってリストを作るべきだ。
0652デフォルトの名無しさん
2009/09/10(木) 01:58:11DLLは作れるみたいだけどLibファイルのようなものは作れないのかな
0653デフォルトの名無しさん
2009/09/10(木) 02:00:440654デフォルトの名無しさん
2009/09/10(木) 02:05:080655デフォルトの名無しさん
2009/09/10(木) 06:30:54どんなメソッドを使えばできますか?
0656デフォルトの名無しさん
2009/09/10(木) 07:33:350657デフォルトの名無しさん
2009/09/10(木) 12:06:35【国際】 中国 「IT製品、ソースコード開示せよ」…日本側が撤回求めるも、予定通り実施へ★4
http://tsushima.2ch.net/test/read.cgi/newsplus/1252535413/
「ソースコード開示せよ」…中国が外国企業に要求
http://pc11.2ch.net/test/read.cgi/prog/1221835452
23 :名無しさん@十周年:2009/09/10(木) 02:28:25 ID:UeD78g5r0
李鵬が言ってた、20年後に日本なんてなくなるって、こういう事か。
40 :名無しさん@十周年:2009/09/10(木) 02:35:03 ID:BKKfZepB0
トヨタがプリウスで儲けれるのも来年までなんだね。
鳩山幸さんはサイエントロジーというカルトと関係があるという噂があります。
http://an★tikimchi.see★saa.net/art★icle/127578850.html
↑ 日本アンチキムチ団
鳩山幸さんの旧姓が不明だそうですよ。
764 名前:可愛い奥様[] 投稿日:2009/09/06(日) 01:04:07 ID:/WrcABwtO
北海道苫小牧在住の者ですが、老人ホームで暮らす朝鮮人のお婆ちゃんから聞いた話です。
幸夫人のごお父様は中国人ではなく、キム・ジョンウォン(漢字不明)という朝鮮北部出身の貿易商だったようです。
戦後は日本に渡り、幸さんが渡米するまでは神戸の商社に勤めていたようです。
キムさんは幸さんが渡米した直後、北海道室蘭に引っ越し、貿易商を営みながら総連支部の設立に尽力されたと話しておりました。
中国語・英語・ロシア語がお上手だったようですね。
【ファーストレディー】鳩山幸をウォッチするスレ 2
http://hideyoshi.2ch.net/test/read.cgi/ms/1252279762/
0658デフォルトの名無しさん
2009/09/10(木) 14:33:30ILMerge を使えば、複数のアセンブリを一つにできる。
0659デフォルトの名無しさん
2009/09/10(木) 15:20:01if (rowA["HOO"] == rowB["HOO"])
みたいな比較は、右辺左辺両方が同じ型?(stringとかint)であることが事前に分かって
いれば、キャストせずに比較しても正しい比較結果が得られますでしょうか?
0660デフォルトの名無しさん
2009/09/10(木) 15:23:42Object型のままで値を正しく比較したければEqualsメソッドを使います。
0661デフォルトの名無しさん
2009/09/10(木) 20:50:57写真をまとめてみたいと思って、
string[] files = Directory.GetFiles(@"c:\photo", "*.jpg");
foreach(string file in files) {
photoProcess = new Process();
photoProcess.StartInfo.FileName = file;
photoProcess.Start();
}
Thread.Sleep(1*60*1000);
if (! photoProcess.CloseMainWindow()) {photoProcess.Kill();}photoProcess.Close();photoProcess.Dispose();
とやって見たところ、開いて1分待つところまではよいのですが、最後に閉じるのが1枚だけで、あとのウィンドウは開いたままになってしまいます。
こういう場合は、どうやればぜんぶのウィンドウを一括してクローズできるか、ご教示いただけないでしょうか。
0662デフォルトの名無しさん
2009/09/10(木) 20:51:47csc.exe /target:module
ちなみに
Q. Visual Studio 開発環境でこのコンパイラ オプションを設定するには
A. Visual Studio 開発環境では、モジュールの作成はサポートされていません。
0663デフォルトの名無しさん
2009/09/10(木) 20:54:39各Processオブジェクトを配列にでも突っ込んで、
終わるときはそれらを順にCloseMainWindowしてけばいい
>>662
moduleもダイナミックリンクだぜ
0664デフォルトの名無しさん
2009/09/10(木) 20:55:39関連づけされてるアプリ次第。別々にプロセスが立ち上がるなら、
ここのプロセスをそれぞれ閉じるしかないよ。
0665デフォルトの名無しさん
2009/09/10(木) 21:06:46>>663
オブジェクトを配列につっこむ方法を教えてください。
>>664
プロセスを取得してってこと?
プロセス名だと、ファイル名まではわからないんじゃなかったでしたっけ?
ペイントだと、mspaint.exeとか?
0666デフォルトの名無しさん
2009/09/10(木) 21:10:00違う。アプリによっては、ひとつのプロセスで複数のウィンドウを開く形になる。
たとえば、デフォルト状態の Explorer とかね。
その場合、最後とのプロセスを殺せば、勝手にまとめて死んでくれるってわけ。
#「ここのプロセス」は「個々のプロセス」ね。
0667デフォルトの名無しさん
2009/09/10(木) 23:13:46なんためにphotoProcess変数を使ってるんだ?
同じことを配列(まあListとかのがいいけど)に入れる形でやればいいだけだろ?
0668デフォルトの名無しさん
2009/09/10(木) 23:14:57これは画面キャプチャだね。
これで取得したオブジェクトを拡大させるってこと?
やはり難しそうだなぁ。
0669デフォルトの名無しさん
2009/09/10(木) 23:48:01一件ずつループ処理でsubitemを書き換えてリストビューのRefreshメソッドを実行するのですが
書き換えた内容が描画されない
表示するアイテムリストとアイテムはそれぞれ専用のクラスを作って管理してて、
書き換え後にアイテムのクラスを見るときちんとデータが入ってる
どんな原因が考えられる?
0670デフォルトの名無しさん
2009/09/10(木) 23:52:090672デフォルトの名無しさん
2009/09/11(金) 00:13:36Refreshしたときに、RetrieveVirtualItemがちゃんと表示領域分発生してるんだね?
0673669
2009/09/11(金) 00:22:03てか、RefreshでRetrieveVirtualItemが発生しないことってあるのん?
0674デフォルトの名無しさん
2009/09/11(金) 00:34:28で、RetrieveVirtualItemで生成するListViewItemにはちゃんと変更後のデータ入れてる?
0675669
2009/09/11(金) 00:41:300676デフォルトの名無しさん
2009/09/11(金) 00:43:390677669
2009/09/11(金) 00:56:49やろうとしてる編集を最初からCSVにしておくと
読み込むときにきちんと描画される
只単にアイテムを編集しただけでRetrieveVirtualItemでやってることは
最初に読込むときと全く同じなんだけどな
なんか足りないのか
0678デフォルトの名無しさん
2009/09/11(金) 01:07:45できました。ありがとうございます。
0679デフォルトの名無しさん
2009/09/11(金) 01:08:240680669
2009/09/11(金) 01:14:53{
if (0 <= e.ItemIndex && e.ItemIndex < ItemList.Count)
{
e.Item = ItemList.Items[e.ItemIndex];
}
}
private void button1_Click(object sender, EventArgs e)
{
foreach (Item item in ItemList.Items)
{
item.SetResult("○");
listView1.Refresh();
}
}
コードこんだけ
0681デフォルトの名無しさん
2009/09/11(金) 01:29:030682デフォルトの名無しさん
2009/09/11(金) 01:36:07みんなでH-IIBロケットの打ち上げを見守ろう!
2時ごろ打ち上げだよ!
http://www.jaxa.jp/countdown/h2bf1/live/h2bf1_300k_j.asx
0683デフォルトの名無しさん
2009/09/11(金) 02:47:38まぁ、俺も別のとこで打ち上げ見てたけどね。
0684デフォルトの名無しさん
2009/09/11(金) 08:18:350685デフォルトの名無しさん
2009/09/11(金) 09:43:30設定ファイルはこんな感じです
#setting.txt
#aの値を書き込んでください
a=1
#bの値を書き込んでください
b=hoge
#cの値を書き込んでください
c=hoge hoge
#(#以外でも構いません)で始まる行はスキップ、それ以外の行は=の右辺を取得して変数に代入
このような場合はどうすればいいのでしょうか
0686デフォルトの名無しさん
2009/09/11(金) 09:51:04line[0] == '#'
line.Split('=')[1]
か、正規表現使うか。
0687デフォルトの名無しさん
2009/09/11(金) 09:52:57iniファイルを連想した。
あれのコメントは;だったが。
もし、iniファイルで…ということならWin32APIを呼び出せばOK
0688デフォルトの名無しさん
2009/09/11(金) 09:58:29XmlSerializerとか使えば一瞬でできる
0689デフォルトの名無しさん
2009/09/11(金) 10:23:27Item型は?
0690デフォルトの名無しさん
2009/09/11(金) 10:38:53アドバイスを参考に調べてみます
ありがとうございました
0691デフォルトの名無しさん
2009/09/11(金) 11:35:54ttp://tsushima.2ch.net/test/read.cgi/newsplus/1252552869/
0692669
2009/09/11(金) 12:50:04class Item : ListViewItem
{
string _columns[] = new string[3];
public Item(string[] columns)
{
_columns = columns
}
public Column0 { get { return _columns[0]; } }
public Column1 { get { return _columns[1]; } }
public Column2 { get { return _columns[2]; } }
}
今職場だから思い出して適当に書いてみたけどこんな感じ
何の変哲もない保持用クラス
0693デフォルトの名無しさん
2009/09/11(金) 14:13:140694デフォルトの名無しさん
2009/09/11(金) 14:35:540695685
2009/09/11(金) 17:51:22class Program
{
//第一引数にファイルパス、第二引数にオプション名を入力
static void Main(string[] args)
{
string line = "", option_value = "";
using (StreamReader sr = new StreamReader(args[0], Encoding.GetEncoding("Shift_JIS")))
{
do
{
line = sr.ReadToEnd();
if (line.Split('=', '\n')[0] == args[1])
{
option_value = line.Split('=', '\n')[1];
break;
}
}
while (line != "");
}
Console.Write(option_value);
}
}
行頭#スキップがどうすればいいのわかりません…
0696デフォルトの名無しさん
2009/09/11(金) 17:56:150697デフォルトの名無しさん
2009/09/11(金) 18:01:42面倒くさいからさ。
0698デフォルトの名無しさん
2009/09/11(金) 18:05:430699デフォルトの名無しさん
2009/09/11(金) 18:09:590700デフォルトの名無しさん
2009/09/11(金) 18:16:47ファイルを行ごとに取り扱うのにReadToEndで読む必要性が分からん。
string optionValue = "";
string[] lines = null;
try {
lines = File.ReadAllLines(args[0], Encoding.GetEncoding("Shift_JIS"))
}catch{
lines = new string[0];
}
foreach (string line in lines) {
// 空行と先頭'#'のスキップ
if ((line == String.Empty) || (line[0] == '#')) {
continue;
}
//行をトークン分解
string[] toks = line.Split('=');
if ((toks.Length == 2) && (toks[0] == args[1])) {
optionValue = toks[1];
break;
}
}
Console.Write(optionValue);
0701685
2009/09/11(金) 19:09:59あっちこっちのをペタペタ貼ってたらひどいことに…
>>696
>if(line[0]=='#')continue;
文字列からそうやって一文字抜きだせるんですね
「なんで配列?」ってよくわかってませんでした
ありがとうございます
>>697
>GetPrivateProfileString
こういうのもあるんですね
調べてみます
>>698-699
もうしわけありません…
>>700
>ReadToEnd
ReadLineにしてたつもりが、いつのまにか入れ替わってましたorz
わざわざありがとうございます
これ見てもうちょっと勉強してから出直してきます
0702デフォルトの名無しさん
2009/09/11(金) 19:21:44var setting = File.ReadAllLines("setting.txt")
.Where(s => s[0] != '#')
.Select(s => s.Split('='))
.ToDictionary(ar => ar.First(), ar => ar.Last());
でも、設定保存ならXmlSerializerのほうがいいよ。
0703デフォルトの名無しさん
2009/09/11(金) 19:25:38だから未だにiniの需要が一定量あるんだろう
0704デフォルトの名無しさん
2009/09/11(金) 19:29:38#を値の中で使いたいときとかどうするんだ
人間にとっての読み書きのしやすさを重視するならiniでもいいし,
属性形式のXMLを使うという手もある(XmlSerializerで可能)
0705デフォルトの名無しさん
2009/09/11(金) 19:33:170706704
2009/09/11(金) 19:33:240707デフォルトの名無しさん
2009/09/11(金) 19:38:320708685
2009/09/11(金) 19:47:42いろいろ調べてみましたが、>>700さんのがやりたいことに一番近い(ような気がします)
他の方々の意見もとても勉強になりました
基本からもう一度やりなおすことにしますorz
0709669
2009/09/11(金) 20:23:33何回もレスして貰って申し訳ないけど、最初に言ったとおり
RetrieveVirtualItemで書き換えられたItemがe.Itemにセットされてるところまで
確認してるんですよ
e.Itemにちゃんと書き換えられたItemがセットされてるにのListViewの表示が更新されないので
嵌ってるわけですよ
0710デフォルトの名無しさん
2009/09/11(金) 20:27:54って言ってるんですよ
0711669
2009/09/11(金) 20:57:38{
_column[3] = s;
}
少し感じ悪いレスしてしまって申し訳ないと思ってるが
↑を見てなにかわかるとは思えないっす
例えば
private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
{
if (0 <= e.ItemIndex && e.ItemIndex < ItemList.Count)
{
e.Item = new Item(ItemList.Items[e.ItemIndex]).Columns;
}
}
としてやれば、リストに表示されるアイテムが毎回動的に生成されるわけだから
表示も当たり前に更新される訳だが、VirtualModeのお作法として正しいのだろうか
VirtualModeのDocumentが少なすぎて仕様がわからん・・・
0712デフォルトの名無しさん
2009/09/11(金) 21:06:11ItemクラスのColumnsプロパティって何だよそんなの前回はなかったじゃねぇか
とにかくSetResultでSubItems[3].Textにもsを設定しろ
0713669
2009/09/11(金) 21:16:56だいたい何でstring同士で出したり入れたりしてんのに
Textプロパティなんていうめんどくさいものつくらにゃならんの?
わざわざSetResultメソッドの為だけにTextプロパティ作るの?
きちんと代入できてるって言ってるのにそこにこだわる理由はなに?
0714デフォルトの名無しさん
2009/09/11(金) 21:20:41質問してる身なのに偉そうだな
0715デフォルトの名無しさん
2009/09/11(金) 21:24:50ItemはListViewItemを継承している
RetrieveVirtualItemではItemのインスタンスを返している
Itemはフィールドにstring[]を保持している
ここまでは合ってるよな?
ListViewがView.Detailsのときに各カラムに表示できるのは
ListViewItemのSubItemsに格納されているListViewSubItemのTextプロパティだけ
Itemがフィールドに何持ってようが関係ない
プロパティ作れなんて誰も言ってない
0716デフォルトの名無しさん
2009/09/11(金) 21:27:48あとね、documentのせいではなく、自分の能力のせいだと思われ。
この程度の事も分からないとは。
0717669
2009/09/11(金) 21:36:340718デフォルトの名無しさん
2009/09/11(金) 22:52:50自分のやり方でうまくいってないから質問したのに
しかも正しい回答されてるのに逆切れするとか
理解の範疇を超えてる。
0719デフォルトの名無しさん
2009/09/12(土) 04:56:50ListboxやPanelなどをウィンドウのリサイズに合わせて適宜変更(最大化)するには
プロパティのどの項目を設定すれば良いのでしょうか?
0720デフォルトの名無しさん
2009/09/12(土) 05:34:330721デフォルトの名無しさん
2009/09/12(土) 05:48:48ありがとうございます。できました。
0722デフォルトの名無しさん
2009/09/12(土) 15:35:30テキストボックスに例えば「2CH」と入力すると、
そのテキストボックスの右隣に、
「2CHハイツ」
「2CHマンション」
「メゾン2CH」
と検索に合致する物件をリスト表示させたいと思っています。
その際、
テキストチェンジイベントでパネルを表示させることができたらと思いましたが、
1.パネルを表示させたい箇所に別のパネルがあるので埋もれてしまう。
Z順序が生きてしまい、欠けてしまう。
2.パネルではなくフォームでやろうとすると、どちらかのフォームしかアクティブにならないので、使用が困難。
という状態にあります。
どのようにすればよいのでしょうか。
0723デフォルトの名無しさん
2009/09/12(土) 16:01:56オートコンプリートなら?
http://www.atmarkit.co.jp/fdotnet/dotnettips/423autocompsource/autocompsource.html
0724デフォルトの名無しさん
2009/09/12(土) 16:10:06言ってる意味がよく分からないけど、Zオーダで別のコントロールの背後に隠れるなら
問題だというのなら、最前面に持ってくれば済むことに思うんだが・・・
>>723
オートコンプリートと>>722の言ってることは違うと思う
0725デフォルトの名無しさん
2009/09/12(土) 16:57:380726デフォルトの名無しさん
2009/09/12(土) 17:29:450727デフォルトの名無しさん
2009/09/12(土) 17:36:53こう言ってるから多分インクリメンタルサーチで合ってんじゃね。
単なる部分一致なら検索ボタンどうのこうのとか言い出すと思う。
0728デフォルトの名無しさん
2009/09/12(土) 17:40:23そうやって下らん反論をしてる間に読めるんじゃないの?
0729デフォルトの名無しさん
2009/09/12(土) 17:44:200730デフォルトの名無しさん
2009/09/12(土) 18:11:371枚はDockをLeft、
もう1枚はDockをFILLにする。
で、さらに1枚のパネルを、上記2枚にまたがる位置に置くとする。
こいつは、普段は見えないが、あるケースのときだけ前面に出したい。
これは可能?
通常は上記2枚のパネルのいずれかの配下に置かれるので、表示されても一部が欠けるはずだ。
0731デフォルトの名無しさん
2009/09/12(土) 18:29:55質問だがって何だよ。
>>722と同じ人物だろお前さん。
まあ別にいいけど。
君はコンテナって概念がよく分かってないんだね多分。
そんなの第三のパネルを別のパネルの子コントロールにしなきゃいいだけ。
0732デフォルトの名無しさん
2009/09/12(土) 20:01:10どの子にも属さないようにできるんだっけ。
0733Indropilly
2009/09/12(土) 20:12:51Kameni
Cristian Alvarez
Chica
Pillud
Roncaglia
Forlin
Young
David Garcia
Moises Hurtado
Ivan de la Pena
Joan Verdu
Luis Garcia
Javi Marquez
Corominas
Ivan Alonso
Marques
Raul Tamudo
Alley
Ben Sahar
Nakamura.
0734デフォルトの名無しさん
2009/09/12(土) 20:13:02デザイナを使ってそういう状態、つまりパネルAの上にパネルBが「重なった」
(BはAにcontainされてない)状態を作りたいなら、BのZオーダーをまず最前面にしておいてから、
マウスではなくカーソルキーで移動させるか、プロパティグリッドで座標を直接指定すればいい。
0735デフォルトの名無しさん
2009/09/12(土) 21:54:34なるほどー!
0736デフォルトの名無しさん
2009/09/13(日) 05:48:230737デフォルトの名無しさん
2009/09/13(日) 06:10:06XnaGameStudioの3.1をインストールして、C#でプログラミングをしようと思ったら、
それまでの(インスト前のXnaGameStudio3.0)で開けた.csprojファイルが開けなくなってしまいました。
自分なりに調べて、VC#やXnaを再インストしたりとかしたんですけど、
Xnaで作ったプロジェクトだけを開けない状態になっているようなんです。
ちょっと一人では直せそうに無いので、対処方法を教えてもらえませんか?
0738デフォルトの名無しさん
2009/09/13(日) 06:18:50なんだかを編集すればいいだろたぶん
値は 3.1 の対象プロジェクト新規作成して調べれ
0739737
2009/09/13(日) 07:35:03プロジェクトを新規作成しようとしても、OK押した後にcsprojを開けず、
「そのプロジェクトの種類はこのインストールでサポートされていません」
と出てしまいます。
最初に書いてませんでした。すみません。
0740デフォルトの名無しさん
2009/09/13(日) 07:41:36テキストエディタで開いて
って言ってんだろ
0741デフォルトの名無しさん
2009/09/13(日) 07:44:12>「そのプロジェクトの種類はこのインストールでサポートされていません」
謎だなぁ
まっさらに戻さないといけないかもねー
0742737
2009/09/13(日) 08:00:07すみません。また言葉足らずでした。
開けない既存プロジェクトの.csprojをテキストで開くのはいいんですが、
3.1の対象プロジェクトを新規作成しても、そのプロジェクトも開けない状態なので、
開けないプロジェクトを参考にして値を変更するのはどうなのかなと思いまして・・・
>>741
やっぱ最終的にはそうしないとダメっぽいですかね・・・
なぜかXnaを通してないcsprojファイルは開けるんですが。
0743737
2009/09/13(日) 08:01:48必要とされる要素は 名前空間 'http://schemas.microsoft.com/developer/msbuild/2003' の 'Property' です。
'http://schemas.microsoft.com/developer/msbuild/2003' の 'PropertyGroup' には無効な子要素 名前空間 'http://schemas.microsoft.com/developer/msbuild/2003' の 'XnaCompressContent' が含まれています。
必要とされる要素は 名前空間 'http://schemas.microsoft.com/developer/msbuild/2003' の 'Property' です。
'http://schemas.microsoft.com/developer/msbuild/2003' の 'PropertyGroup' には無効な子要素 名前空間 'http://schemas.microsoft.com/developer/msbuild/2003' の 'XnaCompressContent' が含まれています。
必要とされる要素は 名前空間 'http://schemas.microsoft.com/developer/msbuild/2003' の 'Property' です。
'http://schemas.microsoft.com/developer/msbuild/2003' の 'ItemGroup' には無効な子要素 名前空間 'http://schemas.microsoft.com/developer/msbuild/2003' の 'NestedContentProject' が含まれています。
必要とされる要素は 名前空間 'http://schemas.microsoft.com/developer/msbuild/2003' の 'Item' です。
'http://schemas.microsoft.com/developer/msbuild/2003' の 'ItemGroup' には無効な子要素 名前空間 'http://schemas.microsoft.com/developer/msbuild/2003' の 'BootstrapperPackage' が含まれています。
必要とされる要素は 名前空間 'http://schemas.microsoft.com/developer/msbuild/2003' の 'Item' です。
.csproj内での↑の部分が警告されていて、この部分のせいで開けないんですかね?
0744デフォルトの名無しさん
2009/09/13(日) 08:02:520746デフォルトの名無しさん
2009/09/13(日) 13:30:07基本的な型を宣言したアセンブリAに
クラスa1
があります。
a1にはpublicなメソッドa1do()があります。
コントロールを継承したアセンブリBに
クラスb1
があり
クラスb1は参照設定をAに設定し、a1をインスタンスとした変数b1a1をpublicで宣言しています
コントロールを配置したアセンブリCのクラスc1でアセンブリBを参照設定し
クラスb1をmyb1として変数宣言して、インスタンスを代入しています
myb1.b1a1.a1do();
をc1から呼び出すときアセンブリAへの参照設定が必要というエラーがでます
参照を設定すれば問題なく動きます
参照を設定しない場合、アセンブリBにアセンブリAの内容を含めてしまえば問題はないと思うのですが
それをせず、参照設定もせずに上記の呼び出しを行う方法はありませんか?
アセンブリA アセンブリBは将来他プロジェクトで使う予定もあり、参照の設定をシンプルにしたいのです。
特にアプリケーションCからはクラスb1しか宣言してないのでAに参照設定が必要というのがわかりにくいのですが
そういう場合の解決方法を教えてください
よろしくお願いします
0747デフォルトの名無しさん
2009/09/13(日) 13:42:22全ての操作がBに定義されたクラスだけで完結するようにAをラップしてしまう。
参照設定がうざいとかそういうレベルにとどまらず,
そのほうが設計的に利用者にとって分かりやすくなる。
0748デフォルトの名無しさん
2009/09/13(日) 13:44:13System.Reflection.Assembly.LoadFileで対象のアセンブリを動的にロードした後、
Assembly.CreateInstanceでインスタンスを作成する。
というか他のプロジェクトで参照の設定をさせたほうが圧倒的にメンテナンスコストが低いと思う。
0749デフォルトの名無しさん
2009/09/13(日) 13:47:280750デフォルトの名無しさん
2009/09/13(日) 13:47:55そういうことするんだったらBのほうを動的にロードするべきだと思うよ
Aにはインターフェイスだけ宣言しといて,Bをプラグインみたいな扱いにする
0751デフォルトの名無しさん
2009/09/13(日) 14:03:09わかります。基本的にaはprivateで宣言して変数はプロパティ、メソッドはメソッドで隠蔽すべきですよね。
ただ、bのバリエーションが非情に増えそうな予感がしたので本来なら多重継承させたい状況なのです。
そうでないなら、publicでそのまま使わせた方が楽かと・・・
ご意見ありがとうございました。
>>748
>他のプロジェクトで参照の設定をさせたほうが圧倒的にメンテナンスコストが低い
そうですか。あまりへんてこなことでもないんですね・・・・ありがとうございました。
リフレクションについてもう少し勉強してみます。
>>750
なるほど、ただ、Aに含まれるのはベーシックな数値計算などですから
インターフェイス化しても同じ計算をあちこちで書くことになりそうです。
ただ、AとBの関係をCからは同列にしてBをプラグインみたいにする考え方もありますね。
非情に参考になりました。ありがとうございました。
やはり参照設定をして、Aをそのまま使っていくのがバージョンの変更などにも対処しやすく
メンテナンスコストもよさそうなので、そうしたいと思います。
しかし、いろいろな方法をご提案いただいて非情に勉強になりました。
ありがとうございました。
0753デフォルトの名無しさん
2009/09/13(日) 14:38:35例えば指定したディレクトリがなければ処理をしたいときに
if (Directory.Exists(dir) == false)
このような書き方をしてるのですが、
冗長ですのでもっとすっきりした書き方はないでしょうか?
0754デフォルトの名無しさん
2009/09/13(日) 14:41:140755デフォルトの名無しさん
2009/09/13(日) 14:42:04が分からないってこと?
0756デフォルトの名無しさん
2009/09/13(日) 14:47:19!が使えたんですね、ありがとうございます。
0757デフォルトの名無しさん
2009/09/13(日) 14:48:30if (Directory.Exists(dir) != true)
0758デフォルトの名無しさん
2009/09/13(日) 14:49:360759デフォルトの名無しさん
2009/09/13(日) 14:55:27とんでもありません。おかげでひとつ勉強になりました。
0760デフォルトの名無しさん
2009/09/13(日) 15:21:41FormにcheckBox1とbutton1を配して、button1をクリックしたときに、checkBox1にチェックしたいと思います。
イベントハンドラに
this.button1.Click += new System.EventHandler(this.checkBox1_CheckedChanged);
を登録し、
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
MessageBox.Show("changed");
}
として実行すると、ボタンを押したときにメッセージが表示されるので処理は行われます。
しかし、チェックボックスのチェックが入らないのです。
チェックボックスにチェックを入れるには、どこでなにをしたらよいんでしょう?
マウスでチェックボックスをチェックする以外の方法をお願いします。
0761デフォルトの名無しさん
2009/09/13(日) 15:24:470762デフォルトの名無しさん
2009/09/13(日) 15:29:02foo.ImageIndex = 1;
foo.SelectedImageIndex = 0;
の代わりに
treeview1.Nodes.Add("foo").[ImageIndex,SelectedImageIndex] = [1,0]
のようにしてインスタンス変数をまとめて変更することはできますか?
0763デフォルトの名無しさん
2009/09/13(日) 15:30:140764デフォルトの名無しさん
2009/09/13(日) 15:31:58そう、それが見つからないんです。
0765デフォルトの名無しさん
2009/09/13(日) 15:35:18http://msdn.microsoft.com/ja-jp/library/system.windows.forms.checkbox_members.aspx
checkBox1.Checkedな
0766デフォルトの名無しさん
2009/09/13(日) 15:37:13欲しい機能があるかどうかを質問するのがそんなに悪いことでしょうか?
0767デフォルトの名無しさん
2009/09/13(日) 15:37:49treeView1.Nodes.Add(new TreeViewNode("foo", 1, 0));
ぼくのかんがえたすごいしーしゃーぷ により近い書き方もある
treeView1.Nodes.Add(
new TreeViewNode { Text = "foo", ImageIndex = 1, SelectedImageIndex = 0 });
0768767
2009/09/13(日) 15:40:360769デフォルトの名無しさん
2009/09/13(日) 15:46:06気持ちは分からんでもない。
0770デフォルトの名無しさん
2009/09/13(日) 15:48:14ありがとうございました。できました。
msdnのメンバ一覧の読み方がすこしわかってきました。
感謝です。
0771デフォルトの名無しさん
2009/09/13(日) 18:24:04チェックボックスリストを使って、ある項目を選択できるようにしているのですが、
チェックをつける際に、マウスをダブルクリック(行を選択→チェックをクリック)しないと、チェックがつきません。
これは仕様でしょうか?
0772デフォルトの名無しさん
2009/09/13(日) 18:46:100773771
2009/09/13(日) 18:48:16CheckedListBoxです。
0774デフォルトの名無しさん
2009/09/13(日) 18:58:02CheckOnClickで違う動作もとれるが
0775771
2009/09/13(日) 19:30:45ありがとうございました。
0776デフォルトの名無しさん
2009/09/13(日) 20:09:23for (int i = 2; i < args.Length; i++) {
allArgs = allArgs + args[i] + " ";
}
って
allArgs = string.Join(" ", args, 2, args.Length - 1);
じゃないの?
インデックスおよびカウントはバッファ内の場所を参照しなければなりません。
とかいわれて困ってます。
0777デフォルトの名無しさん
2009/09/13(日) 20:14:10i=2から始まってるからargs.Length-2個だ
0778デフォルトの名無しさん
2009/09/13(日) 20:22:510779デフォルトの名無しさん
2009/09/13(日) 20:48:410780デフォルトの名無しさん
2009/09/13(日) 21:56:05thanks.
>>779
sorry.
String.Join メソッド (String, String[], Int32, Int32)
指定した String 配列の各要素間にある指定した区切り記号 String を連結し、連結された単一の文字列を作成します。パラメータには、最初の配列要素と、使用する要素の数を指定します。
パラメータ
separator String。
value Stringの配列。
startIndex 使用する valueの最初の配列要素。
count 使用するvalueの要素の数。
読まないわけじゃないんだけど、これ、訳が悪すぎて、ぜんぜんわかんないんですよ。
たとえばですが、
String.Join メソッド (String, String[], Int32, Int32)
String.Join メソッド (separator, value, startIndex, count)
配列の区切り文字を削除して連結した文字列を作成します。Int32パラメータには、連結する最初の配列番号と使用する要素の数を指定します。
パラメータ
separator 区切り文字
value 連結するString配列
startIndex 使用する配列の最初の番号
count 使用する配列の数
とかならまだわかりやすい気がします。
msdnをすらっと読んで理解できる方が羨ましい。
なんか読むコツがあるんですか?
0781デフォルトの名無しさん
2009/09/13(日) 21:58:270782デフォルトの名無しさん
2009/09/13(日) 21:59:130783デフォルトの名無しさん
2009/09/13(日) 22:03:44(配列, 最初のインデックス, 要素数)
と決まってるんだよね
0784デフォルトの名無しさん
2009/09/13(日) 22:03:46FFにあるでしょ?
アビリティーって
0785デフォルトの名無しさん
2009/09/13(日) 22:05:020786デフォルトの名無しさん
2009/09/13(日) 22:13:51こんな感じ?
0787デフォルトの名無しさん
2009/09/13(日) 22:22:27パラメータの説明はもう少し詳しく書いてあってもいいとは思う。
separator 区切り記号
value 連結される String の配列
startIndex 使用する value の最初の要素インデックス
count 使用する value の要素の数
とか。まあパラメータ名で大体分かるけど。
0788デフォルトの名無しさん
2009/09/13(日) 22:23:52エクスプローラでjpgファイルのプロパティでコメント欄に書いた文字を読みたいのですが、どのようにしたらよいですか?
//読み込む
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(imgFile);
//Exif情報を列挙する
foreach (System.Drawing.Imaging.PropertyItem item in bmp.PropertyItems)
{
//データの型を判断
if (item.Type == 2)
{
//ASCII文字の場合は、文字列に変換する
string val = System.Text.Encoding.ASCII.GetString(item.Value);
val = val.Trim(new char[] { '\0' });
//表示する
listBox1.Items.Add("ID=" + item.Id + " type=" + item.Type + " value=" + val);
}
else
{
listBox1.Items.Add("ID=" + item.Id + " type=" + item.Type + " value=" + item.Len);
}
}
bmp.Dispose();
というのを試しているのですが、コメント欄の文字は表示されません。
0789デフォルトの名無しさん
2009/09/13(日) 22:26:570790デフォルトの名無しさん
2009/09/13(日) 22:32:32ttp://ant0x.udap.jp/tips/tips_fileSummaryInfo.htm
0791デフォルトの名無しさん
2009/09/13(日) 23:08:57System32のほうは、
型 'Shell32.FolderItem' を 'Shell32.FolderItem2' に暗黙的に変換できません。明示的な変換が存在します。(cast が不足していないかどうかを確認してください)
でエラーで動かず。
DSOFile.dllのducPropertyのほうは、なにも値が表示されません。
DSOFile.OleDocumentPropertiesClass ducProperty = new
DSOFile.OleDocumentPropertiesClass();
DSOFile.SummaryProperties summary;
// 読み込みのテスト
string imgFile = @"c:\image.jpg";
ducProperty.Open(imgFile, true,
DSOFile.dsoFileOpenOptions.dsoOptionDefault);
summary = ducProperty.SummaryProperties;
listBox1.Items.Add("Title : " + summary.Title);
listBox1.Items.Add("Subject : " + summary.Subject);
listBox1.Items.Add("Author : " + summary.Author);
listBox1.Items.Add("Keywords : " + summary.Keywords);
listBox1.Items.Add("Comments : " + summary.Comments);
listBox1.Items.Add("Category : " + summary.Category);
listBox1.Items.Add("RevisionNumber : " + summary.RevisionNumber);
Title :
Subject :
Author :
Keywords :
Comments :
Category :
RevisionNumber :
という文字だけ追加されました。
0792デフォルトの名無しさん
2009/09/13(日) 23:16:080793デフォルトの名無しさん
2009/09/13(日) 23:37:09>でエラーで動かず。
こんなエラーも対処できないなら畑でも耕してろ。
0794デフォルトの名無しさん
2009/09/13(日) 23:59:390795デフォルトの名無しさん
2009/09/14(月) 00:06:430796デフォルトの名無しさん
2009/09/14(月) 04:11:52でいいんじゃないの?
0797デフォルトの名無しさん
2009/09/14(月) 11:36:530798デフォルトの名無しさん
2009/09/14(月) 13:37:19http://www.codeproject.com/KB/cs/ntfsstreams.aspx
頑張れ。
0799デフォルトの名無しさん
2009/09/14(月) 14:00:07書き込む前にレス追えバカ
0800デフォルトの名無しさん
2009/09/14(月) 14:10:320801デフォルトの名無しさん
2009/09/14(月) 14:37:370802デフォルトの名無しさん
2009/09/14(月) 14:37:42>>796で行けたよ。
ただし、Typeは1で、中身はUnicodeだから
Encoding.ASCII.GetStringからEncoding.Unicode.GetStringに変更
ちなみにコメントのIdは0x9c9cらしい
0803デフォルトの名無しさん
2009/09/14(月) 18:05:19ドライブ内のすべてディレクトリを対象にディレクトリ名で検索したいです。
そこで、Directory.GetDirectoriesの第二引数でAllDirectoriesを指定するという方法でとりあえず作成してみました。
このプログラムは一応正常に動作しているのですが、「C:」ドライブのすべてのディレクトリを検索させようとすると
「System Volume Informationのアクセス権がない」といったエラーが出て止まってしまいます。
「System Volume Information」の中身は検索対象に含めるつもりはないのでスキップしたいのですがその方法がわかりません。
AllDirectoriesを使わずに自前で再起処理などで検索していくしかないのでしょうか
どうかご指導お願いいたします。
0804デフォルトの名無しさん
2009/09/14(月) 18:14:400805デフォルトの名無しさん
2009/09/14(月) 20:09:560806デフォルトの名無しさん
2009/09/14(月) 22:34:47そうですか…。
>>805
それも考えたのですがキャッチ後にそのまま続行する方法がわかりません
ネットで調べたところVBにはCatch ex As Exceptionというのがあるそうなのですが
C#でもそれと同じようなことができるのですか?
0807デフォルトの名無しさん
2009/09/14(月) 22:36:380808デフォルトの名無しさん
2009/09/14(月) 23:41:050809デフォルトの名無しさん
2009/09/14(月) 23:56:04プログラム向いてないから畑でも耕してろボケナス
罵られてもなお続けたいなら↓読め
例外処理ステートメント (C# リファレンス)
http://msdn.microsoft.com/ja-jp/library/s7fekhdy%28VS.80%29.aspx
あとこれも全部読め
http://msdn.microsoft.com/ja-jp/library/618ayhy6%28VS.80%29.aspx
0810デフォルトの名無しさん
2009/09/15(火) 00:01:26だいたいc:が読めないからスルーしたら終わるw
素直に権限ない場合%userprofile%とか検索するプログラム書いて分岐。
もしくは根本的に検索するべきなのか考え直せぇ
0811デフォルトの名無しさん
2009/09/15(火) 00:03:450812デフォルトの名無しさん
2009/09/15(火) 09:19:31でも>>809-810こいつらはきわめて優しいと思うぞなかなか真似できん
0813デフォルトの名無しさん
2009/09/15(火) 09:34:51MSDN見れなんてのはあんまいい回答とも思えんしな。
0814デフォルトの名無しさん
2009/09/15(火) 11:48:52ある座標変換系コードを検証してんだけど、これはつまりなにやってんの?
0815デフォルトの名無しさん
2009/09/15(火) 11:56:010816デフォルトの名無しさん
2009/09/15(火) 12:06:42ピクチャーボックスに表示したいんですがどうしたらいいんでしょうか。
今はDirectXのデバイスにピクチャーボックスのハンドルを入れたらいいのかなと
思ってやってるんですが間違えてますか?
public Intptr GetHandle()
{
PHandle = PictureBox1.Handle;
}
デバイスにPHandleをいれる。
private bool InitializeGraphics()
PHandle = GetHandle();
device = new Device(0, DeviceType.Hardware, PHandle,・・・・・);
0817デフォルトの名無しさん
2009/09/15(火) 12:18:540818デフォルトの名無しさん
2009/09/15(火) 12:20:43ですよねー
トン
0819デフォルトの名無しさん
2009/09/15(火) 12:23:54y=(2 * Math.Atan(Math.Exp(f)) - PI / 2) / (PI/180);
ある座標変換系コードを検証してんだけど、これはつまりなにやってんの?
0820デフォルトの名無しさん
2009/09/15(火) 12:24:360821デフォルトの名無しさん
2009/09/15(火) 12:26:290822デフォルトの名無しさん
2009/09/15(火) 12:37:35型が違うとだめなのか。どうもありがとう
0823デフォルトの名無しさん
2009/09/15(火) 14:26:21ってどう書けばいいんでしょうか?
0824デフォルトの名無しさん
2009/09/15(火) 14:38:26空白からセミコロンまで、等号、疑問符からチルダまで
※試してません
0825デフォルトの名無しさん
2009/09/15(火) 16:00:42ここの過去スレで読み取り専用でListを公開したい時はReadOnlyCollection
で渡すと良い、という事を知りました。
同様にDictionaryを読み取り専用で公開したい場合、ReadOnlyCollection
の様な方法は用意されているのでしょうか?無い場合、どのような方法が
より安全でしょうか?
0826デフォルトの名無しさん
2009/09/15(火) 16:03:58requestからファイルサイズを習得しようとすると-1になるのですが、
どうしたら正しいファイルサイズが習得できますか?。
0827デフォルトの名無しさん
2009/09/15(火) 16:07:46HttpWebRequestからファイルサイズとか取れないだろ。
何をどうやって取ろうとしてるの?
0828デフォルトの名無しさん
2009/09/15(火) 16:13:57自分で作る 大した手間じゃないよ
0829デフォルトの名無しさん
2009/09/15(火) 16:15:20httpwebrequest.contentlength
あ、これはリクエストする方のサイズなのですね
ごめん
0830デフォルトの名無しさん
2009/09/15(火) 22:43:26使い勝手や感想を教えて下さい
0831デフォルトの名無しさん
2009/09/15(火) 22:44:56mono touchのことです
0832デフォルトの名無しさん
2009/09/15(火) 22:49:47消しゴムじゃないMONOを使ってみるスレ 2個目
http://pc12.2ch.net/test/read.cgi/tech/1100616350/l50
0833デフォルトの名無しさん
2009/09/15(火) 22:56:31スレ違いでしたか
助かります
0834デフォルトの名無しさん
2009/09/16(水) 00:34:000835デフォルトの名無しさん
2009/09/16(水) 04:16:34複数行入力されたテキストにより、スクロールバーが表示されている状態から
テキストボック本来の開始位置からの座標を取りたいのですが
良い方法はないでしょうか?
Point mp = Control.MousePosition; //マウスカーソル位置の画面座標取得
Point cp = textBox1.PointToClient(mp); //textBoxの座標に変換
としているのですが、スクロールバーによる表示されていない部分が無視されます。
0836デフォルトの名無しさん
2009/09/16(水) 07:25:02改行し行揃えする関数は標準で用意されてますか?
String.Format ではできなさそうでした。
0837デフォルトの名無しさん
2009/09/16(水) 07:27:090838デフォルトの名無しさん
2009/09/16(水) 08:05:200839デフォルトの名無しさん
2009/09/16(水) 10:09:1501file.txt
02file.txt
…
などのどれかにヒットさせたいときには、
string[] files = Directory.GetFiles(dir, "*file.txt");
して、確認しないとだめなんでしょうか?
0840デフォルトの名無しさん
2009/09/16(水) 10:14:130841デフォルトの名無しさん
2009/09/16(水) 10:26:090842デフォルトの名無しさん
2009/09/16(水) 11:15:26それとイメージリストにイメージを登録した時点でリサイズされてしまうのでしょうか?。
それとも表示する時にリサイズされるだけ?。
(Image)imagelist_listview.Images[listView1.SelectedItems[0].Name];
0844デフォルトの名無しさん
2009/09/16(水) 11:33:25頻繁に出し入れするならImage.Disposeを忘れないようになー
0845デフォルトの名無しさん
2009/09/16(水) 11:50:110846デフォルトの名無しさん
2009/09/16(水) 16:51:46forでまわして一個ずつpushするしかないのでしょうか?
もしくは
Stack.Pop() も forループ も使わずに
配列の先頭要素を除いた残りの配列を返す方法はありますか?
0847デフォルトの名無しさん
2009/09/16(水) 16:53:38リンクリストでも使えよ
0848デフォルトの名無しさん
2009/09/16(水) 17:14:020849デフォルトの名無しさん
2009/09/16(水) 17:22:270850デフォルトの名無しさん
2009/09/16(水) 17:24:02そのときになにをしたいの?
0851デフォルトの名無しさん
2009/09/16(水) 17:25:390852デフォルトの名無しさん
2009/09/16(水) 17:37:42どうでもいいけど、英語圏でjitはもはや動詞として使われてるよw
JIT - JITs - JITted - JITting
意味はもちろんJITコンパイルすること。対義語はto AOT
0853デフォルトの名無しさん
2009/09/16(水) 17:38:180854デフォルトの名無しさん
2009/09/16(水) 17:40:430855デフォルトの名無しさん
2009/09/16(水) 17:43:590856デフォルトの名無しさん
2009/09/16(水) 17:45:290857デフォルトの名無しさん
2009/09/16(水) 18:50:060858デフォルトの名無しさん
2009/09/16(水) 19:28:48Just-In-Time デバッグ:
http://msdn.microsoft.com/ja-jp/library/5hs4b7a6%28VS.80%29.aspx
0859デフォルトの名無しさん
2009/09/16(水) 23:39:15亀レスで、もう数学板の方でレスついちゃってるかもしれないけど、一応
双一次変換のアナログ周波数→ディジタル周波数の計算式じゃない?
0860デフォルトの名無しさん
2009/09/17(木) 00:24:320861デフォルトの名無しさん
2009/09/17(木) 00:35:24http://ufcpp.net/study/digital_filter/bilineartrans.html
この双一次変換の周波数特性の式に、ωa = exp f を入れた式かと。
対数周波数(= オクターブ)を双一次変換でディジタル化したときの特性周波数だなぁ、多分。
0862デフォルトの名無しさん
2009/09/17(木) 00:36:110863デフォルトの名無しさん
2009/09/17(木) 05:01:07= Text.Replace("\r", "").Split(new char[] { '\n' });
としたいのですが、どのように処理すればよいでしょうか?
0864デフォルトの名無しさん
2009/09/17(木) 05:09:15ジェネリックも何もString.Splitの左辺はstring[]しかありえないが?
0865863
2009/09/17(木) 05:19:34string[]しか無理なのですね・・
動的に配列を追加していきたいもので・・・
0866デフォルトの名無しさん
2009/09/17(木) 05:25:03List<string>にstring[]をAddRangeすることはできる
もちろんList<string[]>にAddすることも
0867863
2009/09/17(木) 05:43:05ありがとうございます!!
勉強不足ですいません!
0868デフォルトの名無しさん
2009/09/17(木) 10:23:27=演算子で構造体またはクラス変数にそのままメンバ値を代入できますよね
これってユーザ定義構造体またはクラスで実現できますか
調べてみたら、=演算子のオーバーロードはできないみたいだし、
インデクサは配列メンバにしかアクセスできないし。。。
プロパティでpublic this{ get; set; }みたいできたらいいんですが。。。
0869デフォルトの名無しさん
2009/09/17(木) 10:26:020870デフォルトの名無しさん
2009/09/17(木) 10:28:10string x = "str"; int x = 100; こういうの
暗黙の型変換(implicit operator)を実装すれば Hoge x = 1; とかできるようになる
0871869
2009/09/17(木) 10:31:440872デフォルトの名無しさん
2009/09/17(木) 10:35:13勘違いしてそうだけど
string x = "str" って,xが指してるStringオブジェクトのメンバを変更してるんじゃなくて
新しいStringオブジェクトを作ってその参照をxに代入してるんだよ
0873デフォルトの名無しさん
2009/09/17(木) 10:35:41じゃあやっぱ煽ろうかな。
0874デフォルトの名無しさん
2009/09/17(木) 10:40:400875デフォルトの名無しさん
2009/09/17(木) 13:53:28Textbox.Lines
0876デフォルトの名無しさん
2009/09/17(木) 14:08:49これを取り出す方法が分からないので教えてください。
imageList2.Images.Add("rar", appIcon);
0877デフォルトの名無しさん
2009/09/17(木) 14:12:500878デフォルトの名無しさん
2009/09/17(木) 14:15:21ありがとうございます。無事出来ました。
可能です。
以上。
はい次の方。
0880デフォルトの名無しさん
2009/09/17(木) 17:41:44listBoxの場合には、
listBox.SetSelected(listBox.Items.Count -1, true);
でできるのですが、listViewの場合には、どのようにしたらよいでしょう?
0881デフォルトの名無しさん
2009/09/17(木) 17:50:320882デフォルトの名無しさん
2009/09/17(木) 18:12:410883デフォルトの名無しさん
2009/09/17(木) 18:15:210884デフォルトの名無しさん
2009/09/17(木) 18:27:45そうぶっきらぼうにいわず、プロパティのどの項目か、
もうすこし手順まで教えていただけないでしょうか。
listViewのItemsのプロパティを見ると、
(コレクション)とか書いてあって、
ここではなさげだし、セレクト系の項目も見当たらないし。
0885デフォルトの名無しさん
2009/09/17(木) 18:33:480886デフォルトの名無しさん
2009/09/17(木) 18:41:00横からだが、>>881で答え出てるじゃん
それで分からないって言うから>>883でListViewItemのプロパティってとこまで教えてもらってるのに、何故理解できないのか。
とりあえずMSDNのListViewItemの項目読んで来い。
0887デフォルトの名無しさん
2009/09/17(木) 19:07:50listView1.Items[listView1.Items.Count - 1].Selected = true;
listView1.Select();
0888デフォルトの名無しさん
2009/09/17(木) 22:56:130889デフォルトの名無しさん
2009/09/17(木) 23:49:530890デフォルトの名無しさん
2009/09/18(金) 01:33:13ありがとうございます。無事出来ました。
0891デフォルトの名無しさん
2009/09/18(金) 03:40:590892デフォルトの名無しさん
2009/09/18(金) 04:11:06そのメソッドのデリゲートを渡したところ一旦は動くのですが、
しばらくするとGCで移動させられて呼び出し時にエラーが発生するようになります。
そこでデリゲートをGCHandle.AllocでPinnedにしようと思ったんですが、
デリゲートはblittableでないからとArgumentExceptionが発生します。
どうすればDLLに固定されたアドレスを渡せるんでしょうか。
0893デフォルトの名無しさん
2009/09/18(金) 07:45:040894デフォルトの名無しさん
2009/09/18(金) 07:50:24デリゲートが解放されないように参照をちゃんと保持しとけばいいだけ
0895デフォルトの名無しさん
2009/09/18(金) 12:09:00タイルファイルを呼び出して大きな画像を作る前処理が必要です。
そして表示領域が移動したとき、領域からはずれたタイルを破毀し、必要なタイルだけを補完する必要があります。
こういう場合とっておきのスマートな処理方法ってありますか?
定石のようなものやクラス構成のヒントだけでも教えてもらえるとありがたいです。
0896デフォルトの名無しさん
2009/09/18(金) 12:17:560897デフォルトの名無しさん
2009/09/18(金) 12:21:47常に舗装されている(スマートな解法が存在する)と思ってる奴がいるよね。
0898デフォルトの名無しさん
2009/09/18(金) 12:24:03ちゃんとしたレスする気がないならスルーしろ
0899デフォルトの名無しさん
2009/09/18(金) 12:25:500900デフォルトの名無しさん
2009/09/18(金) 12:26:450901デフォルトの名無しさん
2009/09/18(金) 12:27:070902デフォルトの名無しさん
2009/09/18(金) 12:28:00バイオリズムか何かで虫の居所が悪い周期でもあんのかしら。
0903デフォルトの名無しさん
2009/09/18(金) 12:28:150904デフォルトの名無しさん
2009/09/18(金) 12:30:140905デフォルトの名無しさん
2009/09/18(金) 12:32:110906デフォルトの名無しさん
2009/09/18(金) 12:33:32俺ど素人だから分からんがここに書いてあるんじゃない?
0907デフォルトの名無しさん
2009/09/18(金) 12:37:340908デフォルトの名無しさん
2009/09/18(金) 15:29:24ありがとうございます。
できました。
でもこれって移動しない保証はあるんですか。
それとも保証は無いけど実質移動はしないということですか。
0909デフォルトの名無しさん
2009/09/18(金) 15:48:53今どういうコード書いてあるか見せてみろよ。
移動がどうこう言ってるようじゃ何か間違ってるわ
0910デフォルトの名無しさん
2009/09/18(金) 16:05:24できたつってんだろ
0911デフォルトの名無しさん
2009/09/18(金) 16:08:13ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36275&forum=7
0912デフォルトの名無しさん
2009/09/18(金) 16:19:34そこでも結論出てたと思うが、デリゲートをアンマネージに渡すと、
マーシャリングのためのサンクが作られる。
このサンクが生きてる限り、アンマネージからの呼び戻しは正しく動作する。
サンクはデリゲートがGCで解放されると死ぬ。
以上、デリゲートの固定とか関係ない。
0913デフォルトの名無しさん
2009/09/18(金) 16:20:44固定とか不要だと思うけど
0914913
2009/09/18(金) 16:21:240915デフォルトの名無しさん
2009/09/18(金) 16:38:53ありがとうございます。
参考になりました。
0916デフォルトの名無しさん
2009/09/18(金) 16:42:24サンクス
0917デフォルトの名無しさん
2009/09/18(金) 17:21:510918デフォルトの名無しさん
2009/09/18(金) 17:34:340919デフォルトの名無しさん
2009/09/18(金) 17:49:510920デフォルトの名無しさん
2009/09/18(金) 17:52:200921デフォルトの名無しさん
2009/09/18(金) 17:56:010922デフォルトの名無しさん
2009/09/18(金) 18:36:23ゲームのマップ?
C#にこだわらなければサンプルはそこらへんに腐るほど落ちてるぞ
一回書けば二度と触らない部分だろうからスマートとかどうでもいい
0923デフォルトの名無しさん
2009/09/18(金) 18:51:23C++のせいにするなー!
0924デフォルトの名無しさん
2009/09/18(金) 19:10:51あざーす
一枚のタイルがどこまで動いたか調べて一斉にタイルを書き換える方法が見つかりました
まー結局ループしてコピーなんですね
OOPっぽくタイルクラスに移動値(x、y)を与えてやってみます
0925デフォルトの名無しさん
2009/09/18(金) 19:20:35表示領域外に出たタイルオブジェクトは描画リソースだけ破棄するようにする
大きな画像全体を仮想的に保持しといて,必要な範囲だけ描画を有効にするイメージ
0926デフォルトの名無しさん
2009/09/18(金) 21:41:47ありがとうございます
ライフゲームのセルみたいな感じですね?
わかります
C++で最初に書いたのを思い出しました
0927デフォルトの名無しさん
2009/09/19(土) 08:38:42a.
検索ボックスに検索したい商品の名前を入力しはじめると、
返還前であっても該当する商品が右側の窓に表示されるようにしたいのですが、
返還前の文字列を取得し、検索結果を表示するにはどうすればいいでしょうか。
b.
発注者の氏名を入力したら、自動で発注者のフリガナを下のボックスに入れたいと思っています。
これもaと同じ要領で返還前文字を拾うことができるでしょうか。
よろしくお願いします。
0928デフォルトの名無しさん
2009/09/19(土) 08:45:320929デフォルトの名無しさん
2009/09/19(土) 09:05:11>>925
この2レスだけ読むと滅茶苦茶重くなりそうに見える。
0930デフォルトの名無しさん
2009/09/19(土) 09:30:510931デフォルトの名無しさん
2009/09/19(土) 10:11:13IMEで入力中の文字列を取得すればいいだけじゃん
0932デフォルトの名無しさん
2009/09/19(土) 10:12:45タイル(x1,y1)が(x3,y5)へ移動した場合
タイルのインデックスを書き換えるようにした方がいいですかね?
タイルの座標が表示領域(およびバッファ領域)を超えた時点でインデックスが削除され
インデックス(0,0)から順に描画、タイルがインデックス上に存在しない場合、インデックスを消したタイルを再利用
クラス タイル
{
string タイル座標;
bitmap タイル画像;
}
クラス タイルコンテナ
{
}
0933デフォルトの名無しさん
2009/09/19(土) 10:13:58途中で投稿してしまいました orz
タイルコンテナでタイルを配列かリストで管理する感じです
0934デフォルトの名無しさん
2009/09/19(土) 10:16:34移動量を与えるだけで自分が領域を外れたかどうか判断できると思うのですが
タイルコンテナクラスのプロパティをタイルクラスから参照する方法ってありましたか?
引数で与えてやればいいだけですが
0935デフォルトの名無しさん
2009/09/19(土) 10:40:22タイルということは敷き詰めるんだよな?
> タイル(x1,y1)が(x3,y5)へ移動した場合
この時点で無駄でしょ。
タイルが移動するオブジェクトである必要は無い。
2次元配列(パフォーマンス的には配列の配列か)、視点(カメラ)、リソースのコンテナ、あと表示領域分の別バッファ…このあたりか
動くのは自分或いは世界ね。
怠惰なオラは>>924以前の流れは読んでないので的はずれだったらすまぬ。
ノシ
0936デフォルトの名無しさん
2009/09/19(土) 11:32:09なるほど スピード重視だとそうなるんですね
タイル空間の座標を全タイル分用意
配列の配列には画像へのポインタ
こんな感じすか?
見える範囲をキャタピラみたいなもんに描画するのと
たぶん画像のポインタの切り替えや読み込みは同じなんで
ループするタイルの枚数が少ない方が早い気がしますが
タイルの総数が少ないと配列の方が早いんですね?
参考になりました
0937デフォルトの名無しさん
2009/09/19(土) 11:48:58もっと単純にintでもいい
もしxna+xboxなら値型のほうがいいから、この場合複雑なものが入るときはstructのほうがいい
> タイルの総数が少ないと配列の方が早いんですね?
そうじゃないです。常に描画するのは差分だけなので描画回数等から差が出る。
別個のオブジェクトとして扱うとその最適化に悩むことになると思われる。
0938デフォルトの名無しさん
2009/09/19(土) 12:25:06タイルが移動とか、どうしてそういう風に考えるんだろう。
普通に考えれば、例えば表示領域のサイズがタイルを1としたときn×mだとしたら、
(n+2)×(m+2)のサイズのバックバッファを用意して、あとは球面スクロールを
実現するために(1)バックバッファの更新方法と(2)バックバッファからのBitBltの方法
を考えるだけじゃないの?
0939デフォルトの名無しさん
2009/09/19(土) 14:17:49ありがとうございます。
>単純にintでもいい
なるほど画像番号みたいなものですね
>別個のオブジェクトとして扱うとその最適化に悩むことになると思われる。
もうすでに悩んでいるようです
言われてみて実際のサイズを考えて見たら、理論上はタイルを1として
35万×35万くらいのマップサイズになる可能性がわかりまして・・・
>>938
ありがとうございます。
こういう話に慣れてないのですみません。
単なる描画と割り切ってしまえば簡単ですね。
タイルファイルをオブジェクトとして扱わない方向で考えて見ます。
0940デフォルトの名無しさん
2009/09/19(土) 16:40:40ボタンをつけて、アクティブなウィンドウを変更できるようにしたのですが、
変更する際に、一瞬だけ最大化されていないウィンドウが表示されてしまいます。
スムースに切り替える方法はないでしょうか?
0941デフォルトの名無しさん
2009/09/19(土) 17:02:21まあ何か方法はあったはず。
MDIは他にもしょうもないバグが満載だから困っちゃうね。
0942デフォルトの名無しさん
2009/09/19(土) 18:02:03Panel貼っといて中身を差し替えたら
0943デフォルトの名無しさん
2009/09/19(土) 21:19:52オライリーの初めてのC#は読みましたがいまいち内容が足りない感じです。
もう少しオブジェクト指向など高度なことが学びたいのです。
0944デフォルトの名無しさん
2009/09/19(土) 21:54:050945デフォルトの名無しさん
2009/09/19(土) 22:13:490946デフォルトの名無しさん
2009/09/20(日) 02:58:43そのやり方が何を見ても分からないんです。
どのようにすれば、IMEから確定前の入力を拾うことができるのでしょうか?
0947デフォルトの名無しさん
2009/09/20(日) 06:28:31.NETのクラスライブラリ(BCL)にはない。BCLにあるのはIMEのOn/Offくらい。
Win32APIを使うことになるが結構面倒で説明しきれない。
imm.h / imm32.lib でぐぐればいくつか出てくると思うよ。
0948デフォルトの名無しさん
2009/09/20(日) 10:56:440949デフォルトの名無しさん
2009/09/20(日) 14:01:20ラジオボタン「男」「女」を並べています。
「男」ラジオボタンのタブストップをTrueにし、
「男」ラジオボタンにフォーカスが当たったときに、男と女を選択するようにしたいと思っていますが、
「男」ラジオボタンにフォーカスが当たった時に、
「男」が自動でチェックされてしまいます。
フォーカスは当たるけどチェックは手動で行ってもらうようにするにはどうすればいいでしょうか。
教えてください。
0950デフォルトの名無しさん
2009/09/20(日) 14:13:290951デフォルトの名無しさん
2009/09/20(日) 14:16:47ラジオボタンはそういうもんだという気がするが、
どうしてもやりたいなら、チェックボックス使って、
排他は自分で制御とか。
0952デフォルトの名無しさん
2009/09/20(日) 14:18:36そういうのって意識してなくても慣れてるもんだから
0953デフォルトの名無しさん
2009/09/20(日) 14:30:330954デフォルトの名無しさん
2009/09/20(日) 14:36:37枠の内側(タイトルバーなどを除いた、実際の表示領域)のサイズを指定することはできないのでしょうか?
0955デフォルトの名無しさん
2009/09/20(日) 14:39:07そもそも>>949のいってるようなことは実際には起こらんよ。
フォーカスが当たっただけでチェックされる、なんてことはない。
そんなアホなコントロールがあるわけないだろ常識で考えても。
0956デフォルトの名無しさん
2009/09/20(日) 15:00:40フォーカスが当たってもチェックされないみたいだけど、
見た目はチェックされているからね。
フォーカスを当てつつ、チェックもさせないようにできないのかな。
カーソルキーやスペースを押して初めてチェックがつくように。
0957954
2009/09/20(日) 15:02:04this.ClientSize = new Size(640, 480);
↑でできました
ただ、これで対応した場合はフォームデザイナのほうはそのままにしておくのでしょうか?
これを入力して戻っても、サイズがかわってくれません
(ビルドしたらきちんとサイズは変更されています)
0958デフォルトの名無しさん
2009/09/20(日) 15:08:08ごめん、言ってる意味が理解できない。
君はフォーカスが当たると「チェックされる」と言ってるか、「チェックされない」
と言ってるのか、どっちなんだ。
現実はどうかと言えば、もちろんフォーカスがあたっただけでチェックなどされない。
0959デフォルトの名無しさん
2009/09/20(日) 16:21:25フォーカスが当たった時に
実際はチェックされていないのかもしれないけど、
見た目は点が付いてしまっているのを、
点が付かないようにできないのかな。
0960デフォルトの名無しさん
2009/09/20(日) 16:26:28意思の疎通ができてませんよお前ら
0961デフォルトの名無しさん
2009/09/20(日) 16:50:04まあAutoCheckはずしてclickイベントで自力でやるとか
0962デフォルトの名無しさん
2009/09/20(日) 18:46:56javaではできるみたいだけどね。
0963デフォルトの名無しさん
2009/09/20(日) 19:37:09foreachを使わないで簡単にできる方法ってありますか?
0964デフォルトの名無しさん
2009/09/20(日) 19:40:380965964
2009/09/20(日) 19:41:230966デフォルトの名無しさん
2009/09/20(日) 19:43:160967デフォルトの名無しさん
2009/09/20(日) 19:45:48入れることができるなら新しくても何でも大丈夫です。
0968デフォルトの名無しさん
2009/09/20(日) 22:06:26ダイアログを出さないためにはレジストリをいじるしかないでしょうか。
作りたい機能としては、
shiftを押しながらリムーバブルディスクを挿すと自動実行のダイアログが
出てこないですが、それと同じように一時的に自動実行を無効にする
方法はないでしょうか。
0969デフォルトの名無しさん
2009/09/20(日) 22:51:44有限数のマシン(XP,2k)に限り完全に機能を殺したい
ってだけだったら、こっちをオススメする(C#は一切関係ない
ttp://gigazine.net/index.php?/news/comments/20070131_autorun_off/
もっと便利なユーティリティを作りたいっていうんだったら全然分かりません。
0970デフォルトの名無しさん
2009/09/20(日) 23:00:17ありがとうございます。
自作のプログラムが常駐している間は自動実行を
無効にして、挿さったリムーバブルディスクに対して
やりたい操作をしたいので、今回お教えいただいた
方法は欲しい方法ではありませんでした。
0971デフォルトの名無しさん
2009/09/20(日) 23:27:48LKCUだから特に昇格とかはいらんが 再起動はどうだろ
0972デフォルトの名無しさん
2009/09/20(日) 23:29:030973デフォルトの名無しさん
2009/09/20(日) 23:36:22再起動しなくて済む分だけ楽だし。
UI起動すらめんどいってほどの頻度で設定変更したいなら
特定アプリの特定項目を自動実行するようなユーティリティアプリを作った方が早い気がする。
//特定アプリのUI表示位置とかが変更不可能な場合に限るだろうけど
0974デフォルトの名無しさん
2009/09/20(日) 23:37:47>971さん
やはりレジストリをいじる必要がありそうですね・・
調べた感じ再起動も必要みたいです。
簡単にはいかないですね。
0975デフォルトの名無しさん
2009/09/20(日) 23:45:17>973さん
常駐プログラムがリムーバブルディスク挿しの監視
をして挿さった時にファイルコピーなどの処理をしたいので、
ユーザーが設定変更を意識しない方法をとりたいです。
自動実行を重宝しているユーザーも、もしかしたらいる
かもしれないですし、この常駐プログラムが実行されている時
だけの設定変更としたいです。
0976デフォルトの名無しさん
2009/09/20(日) 23:53:06そのリムーバブルディスクに何もしないautorun.infを作って入れておいたらどう?
0977デフォルトの名無しさん
2009/09/21(月) 00:06:02マウスとキーボードの差に見えて仕方がない。
0978968
2009/09/21(月) 00:07:22リムーバブルディスクはユーザーが持っているものなので
autorun.infなどは入れられません。
考えている仕様ですが
・常駐プログラムである
・ユーザーの持っている任意のリムーバブルディスクである
・ユーザーがリムーバブルディスクを挿したタイミングで走る
・挿した後自動でファイルコピー等の処理をする
以上のような仕様の場合、自動実行のダイアログが邪魔になります。
0979デフォルトの名無しさん
2009/09/21(月) 00:24:540980968
2009/09/21(月) 00:56:40C#を使っているので質問しました。
みなさんありがとうございます。
0981デフォルトの名無しさん
2009/09/21(月) 01:54:12最初にTabStopの話しが出ているんだから、マウスとかカーソルキーとかは論外だろう
0982デフォルトの名無しさん
2009/09/21(月) 10:20:22#endif
みたいなかんじで
#if 発行 とやるにはどうやるんでしょうか?
0983デフォルトの名無しさん
2009/09/21(月) 11:10:310984デフォルトの名無しさん
2009/09/21(月) 12:14:13if (Dictionary[key] == "") とするとセットされていないときエラーになります。
catchするしかないでしょうか?
0985デフォルトの名無しさん
2009/09/21(月) 12:19:030986デフォルトの名無しさん
2009/09/21(月) 12:22:52というか、分からなかったら質問する前に、まずオンラインドキュメント読もうよ。
0987デフォルトの名無しさん
2009/09/21(月) 12:32:32初心者にはドキュメント自体が理解できないんだよな
0988デフォルトの名無しさん
2009/09/21(月) 12:35:190989デフォルトの名無しさん
2009/09/21(月) 16:34:00非同期要求のHttpWebRequest.BeginGetResponse
でコールバックメソッドに処理が戻る前に
System.UriFormatExceptionが出ます
リクエストは通ってるようで、データは取れてるのですが、
HttpWebResponseになにかメッセージが入ってるのでしょうか?
ヒントをお願いします
0990デフォルトの名無しさん
2009/09/21(月) 16:52:160991デフォルトの名無しさん
2009/09/21(月) 17:00:28ありがとうございました
0992デフォルトの名無しさん
2009/09/21(月) 17:01:19AllowAutoRedirect=true、3xxで無効アドレスでも返されてるんだろうか
0993デフォルトの名無しさん
2009/09/21(月) 17:25:54ステータスOKです
具体的には今は画像のダウンロードでやってますが、画像はちゃんと表示できます
HttpWebRequestが勝手に再送信を要求して通ってる・・・わけはないですよね?
なんだろうな
0994デフォルトの名無しさん
2009/09/21(月) 17:31:04それとも内部で出てるのがデバッグ出力に吐かれてるだけ?
0995デフォルトの名無しさん
2009/09/21(月) 17:31:220996デフォルトの名無しさん
2009/09/21(月) 17:40:01後者です
catchでは掴まらずBeginGetResponseが処理を終わってコールバックメソッドに処理が戻る前に
デバッグ出力に出ます
>>995
パケット・・・
0997989
2009/09/21(月) 17:42:41http://pc12.2ch.net/test/read.cgi/tech/1253522504/
0998デフォルトの名無しさん
2009/09/21(月) 18:00:420999デフォルトの名無しさん
2009/09/21(月) 18:01:241000デフォルトの名無しさん
2009/09/21(月) 18:02:1210011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。