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


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

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



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

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

前スレ
ふらっとC#,C♯,C#(初心者用) Part43
pc12.2ch.net/test/read.cgi/tech/1248573707/

618 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 22:06:36 ]
Camel形式とPascal形式は違う
camelCase PascalCase

619 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 23:51:21 ]
>>603
コードが読みにくい。
まさか実際のソースもそんな書き方して無いよね?
趣味で作ってるのならいいんだけどさ。

で、問題の方だけど、ドロップダウンリストに値を設定してるところがダメなんじゃない?
InfoPathは使ったこと無いからよくわからないけど。


620 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 00:48:01 ]
>>618
一応、これも書いておかないと

Upper Camel = Pascal
Lower Camel = 狭義のCamel

621 名前:デフォルトの名無しさん [2009/09/09(水) 09:22:35 ]

Bitmap BmpBuf = new Bitmap("C:\\2008052314460001.jpg");
Picture1.Image = BmpBuf;


画像が表示されません

622 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 09:29:10 ]
そうか

623 名前:デフォルトの名無しさん [2009/09/09(水) 09:35:56 ]
せめてヒントだけでも ><。。

624 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:20:41 ]
もうimagelocation でやれwwwww

625 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:41:29 ]
>>621
デバッグしてそこ実行時にBmpBufが有効か見てみたか?
Picture1ってどのコントロール?

626 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:42:26 ]
"C:\\2008052314460001.jpg"

@"C:\2008052314460001.jpg"
こうしたい



627 名前:デフォルトの名無しさん [2009/09/09(水) 10:48:28 ]
>>625
BmpBufはnullでなくサイズプロパティは読み込んだ画像のサイズでした
>>626
あーそういう意味だったのか @使います



628 名前:デフォルトの名無しさん [2009/09/09(水) 10:50:00 ]
>>625
Picture1はPictureBoxです

629 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:53:33 ]
それはちゃんとFormに貼り付けられてるのか
何かのコントロールの後ろに隠れてないか
サイズが0,0になってたりFormの表示範囲外にいってたりしてないか

630 名前:デフォルトの名無しさん [2009/09/09(水) 11:18:33 ]
>>629
もう一度一から貼り直してやってみます
コードは間違ってはいませんよね?

再描画されないかもしれないのはおいといて

631 名前:デフォルトの名無しさん [2009/09/09(水) 11:23:00 ]
>>630
うまくいきました!!

デザイナのコードが壊れてたみたいです

632 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 11:23:16 ]
>>611
paintでGraphicsのDrawImage使うといい。

633 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:12:39 ]
C++のデザパタに片足突っ込んだ程度の経験なんですが、
今回.NET Framework 4.0が面白そうな事になってるのを聞き及び、C#に手を出してみようかと思っています。
C#のオススメの教本とかあったら教えてもらえませんでしょうか?

634 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:20:31 ]
.NET4ってそんなに面白そうなフィーチャーあったっけ
DLRやPLINQなんか.NET触ったことない人には全く分からないだろうし

635 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:27:34 ]
>>632
ドラッグ中MouseMoveイベントで毎回それやってpictureBoxリフレッシュすると滑らかにならず・・・

636 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:49:42 ]
>>635
どんな環境でどうやってんの?
こっちで試す限りでは普通になめらかに動くよ。
Bitmap毎回作ってるとか?



637 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:43:13 ]
>>636
よっぽどでかくなきゃそれでもまぁいけると思うぞ
Disposeしてなさそうだけど(Disposeいるっけ?)

638 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:31:59 ]
breakについて教えてください。
for (int i = 0; i < 10; i++) {
foreach(string line in lines) {
if {//条件。
break;
}
}
}
で、ifの条件が一致したとき、この位置にbreakを書くと、foreachは終了しますが、外側のforは終了しません。
どこに書けば、外のforも終了できますか?


639 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:36:37 ]
for (int i = 0; i < 10; i++) {
bool 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:

640 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:40:30 ]
>>639
ラベルに命令はんないといけないから
EXIT:;じゃね?

641 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:43:09 ]
そうだけど後にステートメントが続くならセミコロンは普通書かない

642 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:47:43 ]
>>641
コンパイル通るの?
前ここではまったんだけど

643 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:48:38 ]
別のアプローチとしてはforを別の関数に切り出してreturnで抜けるというのもある。

644 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:53:44 ]
>>642
通る例
EXIT:
  Console.WriteLine(x);
}
通らない例
EXIT:
}
とにかく後にステートメントがあればいい。セミコロンだけの場合は空のステートメントがあるとみなされる。

645 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:55:44 ]
>>644
じゃあ>>639は嵌るべ

646 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:03:03 ]
>>639
thanks.



647 名前:デフォルトの名無しさん [2009/09/09(水) 23:37:40 ]
C♯で拡大鏡はできますか?

648 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 23:49:15 ]
うん

649 名前:デフォルトの名無しさん [2009/09/10(木) 00:27:42 ]
とあるクラスにA1〜A5というプロパティがあるんですが
配列のindexのように参照する方法はあるでしょうか?

650 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 00:34:43 ]
ない

651 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 01:17:53 ]
>>649
A1〜A5の型が同じなら、とあるクラスにインデクサを実装すればいい。
まぁ、こんな事するんじゃなくてA1〜A5を格納するAってリストを作るべきだ。

652 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 01:58:11 ]
.netってスタティックリンクライブラリって使えないの?
DLLは作れるみたいだけどLibファイルのようなものは作れないのかな

653 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 02:00:44 ]
必要ないだろ

654 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 02:05:08 ]
作れるよ

655 名前:デフォルトの名無しさん [2009/09/10(木) 06:30:54 ]
>>648
どんなメソッドを使えばできますか?

656 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 07:33:35 ]
Graphics.CopyFromScreen



657 名前:デフォルトの名無しさん [2009/09/10(木) 12:06:35 ]
重大ニュース スレは★30までいく

【国際】 中国 「IT製品、ソースコード開示せよ」…日本側が撤回求めるも、予定通り実施へ★4
tsushima.2ch.net/test/read.cgi/newsplus/1252535413/
「ソースコード開示せよ」…中国が外国企業に要求
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
トヨタがプリウスで儲けれるのも来年までなんだね。

鳩山幸さんはサイエントロジーというカルトと関係があるという噂があります。
an★tikimchi.see★saa.net/art★icle/127578850.html
↑ 日本アンチキムチ団

鳩山幸さんの旧姓が不明だそうですよ。

764 名前:可愛い奥様[] 投稿日:2009/09/06(日) 01:04:07 ID:/WrcABwtO
北海道苫小牧在住の者ですが、老人ホームで暮らす朝鮮人のお婆ちゃんから聞いた話です。
幸夫人のごお父様は中国人ではなく、キム・ジョンウォン(漢字不明)という朝鮮北部出身の貿易商だったようです。
戦後は日本に渡り、幸さんが渡米するまでは神戸の商社に勤めていたようです。
キムさんは幸さんが渡米した直後、北海道室蘭に引っ越し、貿易商を営みながら総連支部の設立に尽力されたと話しておりました。
中国語・英語・ロシア語がお上手だったようですね。
【ファーストレディー】鳩山幸をウォッチするスレ 2
hideyoshi.2ch.net/test/read.cgi/ms/1252279762/


658 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 14:33:30 ]
>>652
ILMerge を使えば、複数のアセンブリを一つにできる。

659 名前:デフォルトの名無しさん [2009/09/10(木) 15:20:01 ]
DataRowの各項目はキャストしないとobject型のようなんですが、

if (rowA["HOO"] == rowB["HOO"])

みたいな比較は、右辺左辺両方が同じ型?(stringとかint)であることが事前に分かって
いれば、キャストせずに比較しても正しい比較結果が得られますでしょうか?

660 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:23:42 ]
得られません。常に参照比較になってしまいます。
Object型のままで値を正しく比較したければEqualsメソッドを使います。

661 名前:デフォルトの名無しさん mailto:sage [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枚だけで、あとのウィンドウは開いたままになってしまいます。
こういう場合は、どうやればぜんぶのウィンドウを一括してクローズできるか、ご教示いただけないでしょうか。


662 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:51:47 ]
>>652
csc.exe /target:module
ちなみに
Q. Visual Studio 開発環境でこのコンパイラ オプションを設定するには
A. Visual Studio 開発環境では、モジュールの作成はサポートされていません。


663 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:54:39 ]
>>661
各Processオブジェクトを配列にでも突っ込んで、
終わるときはそれらを順にCloseMainWindowしてけばいい

>>662
moduleもダイナミックリンクだぜ

664 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:55:39 ]
>>661
関連づけされてるアプリ次第。別々にプロセスが立ち上がるなら、
ここのプロセスをそれぞれ閉じるしかないよ。

665 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 21:06:46 ]
終了もforeachすればいいのかなとは漠然と思うのですが、この方法でcloseするにはそれぞれのプロセス名を知る必要があって、それを取得する方法がわからずにおります。
>>663
オブジェクトを配列につっこむ方法を教えてください。
>>664
プロセスを取得してってこと?
プロセス名だと、ファイル名まではわからないんじゃなかったでしたっけ?
ペイントだと、mspaint.exeとか?


666 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 21:10:00 ]
>>665
違う。アプリによっては、ひとつのプロセスで複数のウィンドウを開く形になる。
たとえば、デフォルト状態の Explorer とかね。

その場合、最後とのプロセスを殺せば、勝手にまとめて死んでくれるってわけ。

#「ここのプロセス」は「個々のプロセス」ね。



667 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 23:13:46 ]
>終了もforeachすればいいのかなとは漠然と思うのですが、この方法でcloseするにはそれぞれのプロセス名を知る必要があって、それを取得する方法がわからずにおります。
なんためにphotoProcess変数を使ってるんだ?
同じことを配列(まあListとかのがいいけど)に入れる形でやればいいだけだろ?


668 名前:デフォルトの名無しさん [2009/09/10(木) 23:14:57 ]
>>656
これは画面キャプチャだね。
これで取得したオブジェクトを拡大させるってこと?
やはり難しそうだなぁ。

669 名前:デフォルトの名無しさん [2009/09/10(木) 23:48:01 ]
仮想リストビューに1000件くらいのアイテムを表示して
一件ずつループ処理でsubitemを書き換えてリストビューのRefreshメソッドを実行するのですが
書き換えた内容が描画されない
表示するアイテムリストとアイテムはそれぞれ専用のクラスを作って管理してて、
書き換え後にアイテムのクラスを見るときちんとデータが入ってる
どんな原因が考えられる?

670 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 23:52:09 ]
ListView.RetrieveVirtualItemはちゃんと発生してますか?

671 名前:669 mailto:sage [2009/09/10(木) 23:56:05 ]
>>670
発生しておりまする
リストビューが表示されたときにはCSVから読込まれたデータが
表示されてる状態

672 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 00:13:36 ]
微妙に671の回答がずれてる気がしないでもない
Refreshしたときに、RetrieveVirtualItemがちゃんと表示領域分発生してるんだね?

673 名前:669 mailto:sage [2009/09/11(金) 00:22:03 ]
ステップインで確認したらちゃんと発生してますよ
てか、RefreshでRetrieveVirtualItemが発生しないことってあるのん?

674 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 00:34:28 ]
確認だよ確認 質問者の画面は見れないんだから
で、RetrieveVirtualItemで生成するListViewItemにはちゃんと変更後のデータ入れてる?

675 名前:669 mailto:sage [2009/09/11(金) 00:41:30 ]
入ってますよ

676 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 00:43:39 ]
ちなみにBeginUpdateとEndUpdate使っても駄目そうですか?



677 名前:669 mailto:sage [2009/09/11(金) 00:56:49 ]
だめでした
やろうとしてる編集を最初からCSVにしておくと
読み込むときにきちんと描画される
只単にアイテムを編集しただけでRetrieveVirtualItemでやってることは
最初に読込むときと全く同じなんだけどな
なんか足りないのか

678 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 01:07:45 ]
>>667
できました。ありがとうございます。


679 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 01:08:24 ]
コード見ないと分からんね

680 名前:669 mailto:sage [2009/09/11(金) 01:14:53 ]
private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
{
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();
}
}

コードこんだけ

681 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 01:29:03 ]
listView1.Refresh();をループから出す

682 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 01:36:07 ]
起きてる人ー
みんなでH-IIBロケットの打ち上げを見守ろう!
2時ごろ打ち上げだよ!
www.jaxa.jp/countdown/h2bf1/live/h2bf1_300k_j.asx


683 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 02:47:38 ]
板違い。
まぁ、俺も別のとこで打ち上げ見てたけどね。

684 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 08:18:35 ]
.asxとか死ねよと

685 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 09:43:30 ]
設定ファイルを作ってそこから設定を読み込もうとしています
設定ファイルはこんな感じです

#setting.txt
#aの値を書き込んでください
a=1
#bの値を書き込んでください
b=hoge
#cの値を書き込んでください
c=hoge hoge

#(#以外でも構いません)で始まる行はスキップ、それ以外の行は=の右辺を取得して変数に代入
このような場合はどうすればいいのでしょうか

686 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 09:51:04 ]
string line; に対して、
line[0] == '#'
line.Split('=')[1]
か、正規表現使うか。



687 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 09:52:57 ]
>>685
iniファイルを連想した。
あれのコメントは;だったが。
もし、iniファイルで…ということならWin32APIを呼び出せばOK

688 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 09:58:29 ]
フォーマット変えていいならXMLを使うことを強くお勧めする
XmlSerializerとか使えば一瞬でできる

689 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 10:23:27 ]
>>680
Item型は?

690 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 10:38:53 ]
>>686-688
アドバイスを参考に調べてみます
ありがとうございました

691 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 11:35:54 ]
【国際】 中国 「IT製品、ソースコード開示せよ。情報漏洩はないから」…日本側が撤回求めるも、予定通り実施へ★5
ttp://tsushima.2ch.net/test/read.cgi/newsplus/1252552869/

692 名前:669 [2009/09/11(金) 12:50:04 ]
Itemクラス

class 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]; } }
}

今職場だから思い出して適当に書いてみたけどこんな感じ
何の変哲もない保持用クラス

693 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:13:14 ]
SetResultメソッドとやらでSubItems[n].Textに転写してる?

694 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:35:54 ]
肝心な部分が書いてないっていうね

695 名前:685 mailto:sage [2009/09/11(金) 17:51:22 ]
頭こんがらがってきた;;

class 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);
}
}

行頭#スキップがどうすればいいのわかりません…

696 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 17:56:15 ]
そんなもんif(line[0]=='#')continue;でいいだろ



697 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 18:01:42 ]
素直にGetPrivateProfileStringとかInt使ってくれない?
面倒くさいからさ。

698 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 18:05:43 ]
よく見ると色々おかしい気がする

699 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 18:09:59 ]
#以前に滅茶苦茶すぎる

700 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 18:16:47 ]
File.ReadAllLinesの方が良くねえ?
ファイルを行ごとに取り扱うのに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);

701 名前:685 mailto:sage [2009/09/11(金) 19:09:59 ]
ごめんなさい…
あっちこっちのをペタペタ貼ってたらひどいことに…

>>696
>if(line[0]=='#')continue;
文字列からそうやって一文字抜きだせるんですね
「なんで配列?」ってよくわかってませんでした
ありがとうございます

>>697
>GetPrivateProfileString
こういうのもあるんですね
調べてみます

>>698-699
もうしわけありません…

>>700
>ReadToEnd
ReadLineにしてたつもりが、いつのまにか入れ替わってましたorz
わざわざありがとうございます
これ見てもうちょっと勉強してから出直してきます

702 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:21:44 ]
>>701
var setting = File.ReadAllLines("setting.txt")
.Where(s => s[0] != '#')
.Select(s => s.Split('='))
.ToDictionary(ar => ar.First(), ar => ar.Last());

でも、設定保存ならXmlSerializerのほうがいいよ。

703 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:25:38 ]
XmlSerializerだと人手で読み書きするのが面倒臭いじゃん
だから未だにiniの需要が一定量あるんだろう

704 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:29:38 ]
何にせよ自作は時間の無駄
#を値の中で使いたいときとかどうするんだ
人間にとっての読み書きのしやすさを重視するならiniでもいいし,
属性形式のXMLを使うという手もある(XmlSerializerで可能)

705 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:33:17 ]
キーはユーザが決めるモンじゃないから別に値の中で使っても良いんじゃないかな

706 名前:704 mailto:sage [2009/09/11(金) 19:33:24 ]
すまん行単位か



707 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:38:32 ]
作ってみたいだけかもしんないし、あんまとやかく言うのも野暮。

708 名前:685 mailto:sage [2009/09/11(金) 19:47:42 ]
たくさんのご意見ありがとうございます
いろいろ調べてみましたが、>>700さんのがやりたいことに一番近い(ような気がします)
他の方々の意見もとても勉強になりました

基本からもう一度やりなおすことにしますorz

709 名前:669 [2009/09/11(金) 20:23:33 ]
>>693
何回もレスして貰って申し訳ないけど、最初に言ったとおり
RetrieveVirtualItemで書き換えられたItemがe.Itemにセットされてるところまで
確認してるんですよ
e.Itemにちゃんと書き換えられたItemがセットされてるにのListViewの表示が更新されないので
嵌ってるわけですよ

710 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 20:27:54 ]
ごちゃごちゃうるせえ SetResultのコード出せよ
って言ってるんですよ

711 名前:669 mailto:sage [2009/09/11(金) 20:57:38 ]
public void SetResult(string s)
{
_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が少なすぎて仕様がわからん・・・

712 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:06:11 ]
なんでコード出てくるたびに仕様が変わってんだ
ItemクラスのColumnsプロパティって何だよそんなの前回はなかったじゃねぇか

とにかくSetResultでSubItems[3].Textにもsを設定しろ

713 名前:669 mailto:sage [2009/09/11(金) 21:16:56 ]
例えばって言ってるじゃん
だいたい何でstring同士で出したり入れたりしてんのに
Textプロパティなんていうめんどくさいものつくらにゃならんの?
わざわざSetResultメソッドの為だけにTextプロパティ作るの?
きちんと代入できてるって言ってるのにそこにこだわる理由はなに?

714 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:20:41 ]
何だこいつ
質問してる身なのに偉そうだな

715 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:24:50 ]
なんで例えるんだよ

ItemはListViewItemを継承している
RetrieveVirtualItemではItemのインスタンスを返している
Itemはフィールドにstring[]を保持している
ここまでは合ってるよな?

ListViewがView.Detailsのときに各カラムに表示できるのは
ListViewItemのSubItemsに格納されているListViewSubItemのTextプロパティだけ
Itemがフィールドに何持ってようが関係ない

プロパティ作れなんて誰も言ってない

716 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:27:48 ]
昨日から思ってたけど>>669の態度酷すぎだろ。

あとね、documentのせいではなく、自分の能力のせいだと思われ。
この程度の事も分からないとは。



717 名前:669 mailto:sage [2009/09/11(金) 21:36:34 ]
理解した。申し訳ありませんでした。

718 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 22:52:50 ]
なんで
自分のやり方でうまくいってないから質問したのに
しかも正しい回答されてるのに逆切れするとか
理解の範疇を超えてる。







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

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

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