ふらっと C#,C♯,C#(初心者用) Part121at TECH
ふらっと C#,C♯,C#(初心者用) Part121 - 暇つぶし2ch1:デフォルトの名無しさん
16/06/15 11:34:28.60 9eV3efFp.net
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part120 [無断転載禁止]©2ch.net
スレリンク(tech板)
■関連スレ
C#, C♯, C#相談室 Part90 [無断転載禁止]©2ch.net
スレリンク(tech板)
■コードを貼る場合は↓を使いましょう。
URLリンク(ideone.com)
URLリンク(dotnetfiddle.net)
■情報源
URLリンク(msdn.microsoft.com)
URLリンク(referencesource.microsoft.com)

2:デフォルトの名無しさん
16/06/15 12:21:43.02 yb/HhTmP.net
>>1
Console.WriteLine("乙");

3:デフォルトの名無しさん(もんじゃ)
16/06/15 19:59:58.44 UJ4dhPXD.net
>>1
System.out.println("甲乙丙".charAt(1));

4:デフォルトの名無しさん
16/06/15 21:03:11.15 sCwUlxNa.net
タスクスケジューラを使わないでc#のexeを実行するのは不可能ですか?
まぁこれが出来たらウイルス作り放題ですけどね…
永遠のテーマですよね、勝手に実行されるプログラムってのは…
どんだけ調べても無理だった…

5:デフォルトの名無しさん
16/06/15 21:07:04.25 CZQGLi1U.net
>>4
>タスクスケジューラを使わないでc#のexeを実行
ファイルをダブルクリックしたりエンターキーを押したりすればできますよ

6:デフォルトの名無しさん
16/06/15 21:45:11.80 tGSo3VwO.net
>>1

>>4
何をやりたいのかわからないので永遠のテーマといわれても・・・
OSの起動前になにかを仕込むのならC#では無理だし、勝手に動き出すものはC#関係なく作れない

7:デフォルトの名無しさん
16/06/15 21:57:02.36 sCwUlxNa.net
>>5
いやそれをしなくても実行されるプログラム
トリガーがないのに実行されるプログラムってのはさすがに無理ですよね
>>6
感染時点でレジストリ操作されない限り無理ってことですか
exeファイルはただの塊ですもんね

8:デフォルトの名無しさん
16/06/15 22:06:49.97 sCwUlxNa.net
ダウロードされた時点で実行されるプログラム
これも無理ですよね
やっぱりexeみたいな釣りでウイルス作るのは無理だ
甘すぎる、こんなんでウイルス作れたら大問題だ

9:デフォルトの名無しさん
16/06/15 22:12:38.78 nK3UV1uG.net
実行されると分かっているプログラムを上書きすればいいだけだろ

10:デフォルトの名無しさん
16/06/15 22:16:37.73 tGSo3VwO.net
ウィルスの作り方教えてくださいって知恵袋とかで聞けばいいよ
2chでやるのはローカルルール違反なので止めてね

11:デフォルトの名無しさん
16/06/15 22:21:20.05 S4MdqnJh.net
まずゆうちゃんを作る

12:デフォルトの名無しさん
16/06/15 22:28:37.90 FdxVp53s.net
それはもはやエクスプロイトとかの領域であろう
てか現行法ではウィルス作成自体犯罪でなかったか

13:デフォルトの名無しさん
16/06/15 22:42:13.40 sCwUlxNa.net
別にウイルスなんて作るつもりないですよ
単に原理的なことが知りたいだけです

14:デフォルトの名無しさん
16/06/15 22:47:18.07 sCwUlxNa.net
まーC#なんて、それ自体がアプリみたいなもんだし大した物は作れないのは分かってます

15:デフォルトの名無しさん
16/06/15 23:28:36.45 GTwf6ete.net
彼の言う原理とやらがよく分からない
QEDの作者みたいにルール後出しで原理が変化して行くし

16:デフォルトの名無しさん
16/06/15 23:37:39.12 CLPeAJeZ.net
ただの知能障害かメクラだろ。
初カキコ…ども…みたいな腐臭もする。

17:デフォルトの名無しさん
16/06/16 08:07:59.11 x2R+jq4A.net
>>13
バカ発見

18:デフォルトの名無しさん
16/06/16 11:44:00.94 8flEISc6.net
>C#なんてそれ自体がアプリみたいなもん
これはもう何言ってるのか理解できない
まさかアプリとソフトとプログラムが全部違うものだとでも思ってんのか

19:デフォルトの名無しさん
16/06/16 12:37:20.52 t5S1yAlb.net
>>14
基地外

20:デフォルトの名無しさん
16/06/16 13:53:09.63 GkOpbAE9.net
C#なんて小学生が最初にやる言語だろ

21:デフォルトの名無しさん
16/06/16 14:07:40.97 GkOpbAE9.net
C#って気取った人が嫌うイメージだよね
あまりにも簡単すぎて恥ずかしいって思う人が多いのかも

22:デフォルトの名無しさん
16/06/16 14:19:30.65 CHq+dzTC.net
基地外二人目

23:デフォルトの名無しさん
16/06/16 15:55:21.89 GkOpbAE9.net
Visual C#でコードを入れかえる方法ってありますか?
x=function1();
y=function2();
これを
x=function2();
y=function1();
としたい場合はどうすればよいでしょうか?
1を消して2に、2を消して1にとか
x=をy=に、y=をx=にみたいな原始的なやり方以外でありますか?

24:デフォルトの名無しさん
16/06/16 15:57:49.37 eQzKh/5c.net
function1をunkoに置換
function2をfunction1に置換
unkoをfunction2に置換

25:デフォルトの名無しさん
16/06/16 16:12:38.67 GkOpbAE9.net
>>24
あーそうすればいいのか
ありがとうございます。
置換のジョブは並列では無理なのか
Ctrl+Hで一つしか開かないから順番にするしかないんでしょうか?

26:デフォルトの名無しさん
16/06/16 17:30:21.34 QwIHZKf5.net
class MC{
 string a;
 string b;
 string c;
}
List<MC> ListMC;
に例えばデータが100個くらい入っている時に
class MCsub{
 string a;
}
という一部のデータのみを持つ形式に変換したいのですが、
List<MCsub> ListMCsub = ListMC.select.....;
みたいにLINQで書きたいのですが分かりません。

27:デフォルトの名無しさん
16/06/16 17:46:47.50 tSq+8Kb2.net
物凄くアフォな質問をさせてくれ。
Bitmapファイルを読み込んで一度unsafeとかで画像処理して再度Bitmapにしてpictureboxで表示する時、
FHDサイズで10fpsくらい出れば上出来だと思うんだ。
ゲームなんかだと同じサイズで60fpsとか出してるけども、その速度を出すには、
C#を卒業してC++でDirectXやCUDAでゴリゴリ書くしか無いのかな?

28:デフォルトの名無しさん
16/06/16 18:04:21.45 6YFxDvs7.net
>>27
ゲームで画面にフィルタかけたりウネウネさせたりしてるのはピクセルシェーダだろ
C#でやるならWPF使うか、sharpDXとかでDirect3D叩くか

29:デフォルトの名無しさん
16/06/16 18:07:52.84 iMuJRkoR.net
C#でDirectX使えばいいだろ
それとunsafeにすれば無条件に早くなるってのは無いから注意しろ
むしろ遅くなるパターンもある

30:デフォルトの名無しさん
16/06/16 18:15:47.73 6YFxDvs7.net
>>26
.Select(mc => new MCsub { a = mc.a }).ToList()

31:デフォルトの名無しさん
16/06/16 18:35:39.14 LcFB+H3t.net
URLリンク(dotnetcsharptips.seesaa.net)
このページにある二つのクラスについてなんですが…
上の静的クラスのほうはクラスメソッドやプロパティから操作可能ですが
下のほうは静的クラスではないために、まずインスタンスを作成する必要がありますよね?
なのでまずは
SingletonContext Object1; と宣言、でこれはエラーがでませんでした。
だけど
SingletonContext Object1= new Object1();とするとエラーがでました。
そして、これもコンストラクタがprivateのためできないことに気づきました。
なんとかしてインスタンスを作りたいのですが、これってどうやってインスタンス作ればいいんでしょうか?

32:デフォルトの名無しさん
16/06/16 18:35:47.89 QwIHZKf5.net
>>30
ありがとうございました。
上手く行きました。
ところが得られたList<MCsub>を引き続きLINQで
List<string>に変換しようとしたのですが出来ません。
どうやってもCollectionなんとかみたいなのが出来上がります。

33:デフォルトの名無しさん
16/06/16 19:03:05


34:.12 ID:tSq+8Kb2.net



35:31
16/06/16 19:14:42.24 LcFB+H3t.net
静的コンストラクタ呼び出し
SingletonContext x;
x = SingletonContext.SingletonContext();
これもダメでした。

36:デフォルトの名無しさん
16/06/16 19:32:56.89 iMuJRkoR.net
>>34
Instanceプロパティがあるじゃん

37:デフォルトの名無しさん
16/06/16 19:40:22.99 FzcU07aY.net
>>32
できませんとだけ言われても「あなたの頭が悪いからです」以上の返答のしようがないだろ
質問ってのは「何々をどうこうやったけどできません」って書くことを言うんだよ
>>31
作れるよ^^
URLリンク(ideone.com)

38:デフォルトの名無しさん
16/06/16 20:11:57.46 LcFB+H3t.net
>>35
x=Instance;
これダメでした。
Instanceプロパティが使えるのはインスタンス作った後の話じゃないでしょうか?
>>36
そこまで冗長にしないと作れないと!
特殊なシングルトンクラスという事でいいんでしょうか?
Singletonは静的メソッドからすでに作られたインスタンスを渡されて
終了だと思うんですが、そのようなメソッドもない、コンストラクタも
アクセスできないなら裏技しかないって事かー

39:デフォルトの名無しさん
16/06/16 20:15:04.86 iMuJRkoR.net
>>37
static (C# リファレンス)
URLリンク(msdn.microsoft.com)
これを100回見ろ

40:デフォルトの名無しさん
16/06/16 20:15:26.02 BiIgL8cI.net
あー、Instanceプロパティをstaticにしわすれてるのな

41:デフォルトの名無しさん
16/06/16 20:16:59.21 LcFB+H3t.net
>>39
うむ?
俺?サイトの人?

42:デフォルトの名無しさん
16/06/16 20:18:55.73 BiIgL8cI.net
ページ見て掲載コードの間違いに気づいた人

43:デフォルトの名無しさん
16/06/16 20:23:05.17 LcFB+H3t.net
まじですか

44:デフォルトの名無しさん
16/06/16 21:04:59.46 jO0P8oj4.net
元のソースがなんかいけてない感じなので適当にfixした
URLリンク(ideone.com)
Instanceを使えば通番になるしnewすれば0から始まる
こういうの疑問に感じるのは探究心旺盛で結構なことだけど、実務ではどうなんだろね

45:デフォルトの名無しさん
16/06/17 00:11:57.16 vJ5RPL2W.net
シングルトンはゴミ
たくさん散らばってる時のストレスは半端ない

46:デフォルトの名無しさん
16/06/17 00:14:22.59 ef5JqFMV.net
それは設計が悪いだけだろ

47:デフォルトの名無しさん
16/06/17 00:15:57.80 vJ5RPL2W.net
シングルトン使う奴が設計してるとでも?なんとなくやってるに決まってる

48:デフォルトの名無しさん
16/06/17 00:42:36.36 kwa5m6Kw.net
シングルトンはほぼ例外なくグローバル変数として使われてるな
インスタンスを複数「(作らないんじゃなくて)作れない」クラスなんて現実には殆ど無い

49:デフォルトの名無しさん
16/06/17 00:42:54.74 jYlDfS4o.net
>>46
してるよ。お前のとこが残念なだけ。

50:デフォルトの名無しさん
16/06/17 00:44:54.03 D8ioveLA.net
シングルトンはアプリでせいぜい1個だな。

51:デフォルトの名無しさん
16/06/17 03:22:32.78 d2obTrqw.net
>>47
根本的に考え方が違う
シングルトンはインスタンスを「作れない」ではなく「作らせない」だろ
MVVMパターンでVに対してVMを複数作らせたくないだろ?
定期的なタスクを実行するインスタンスを複数作らせたくないだろ?
シングルトンが複数あるから設計が悪いとか笑える

52:デフォルトの名無しさん
16/06/17 04:18:07.88 LTPBUJG1.net
ListViewのオーナードローってDrawDefaultにTrue入れたらアイコンの描写もやってくれるんすかね

53:デフォルトの名無しさん
16/06/17 06:36:18.57 g5GADQrI.net
>>50
なんで作らせたくないの?
大抵、それこそがクラス設計の悪い匂いだと思うよ
クラスを適切に疎結合にできてない証拠だ

54:デフォルトの名無しさん
16/06/17 06:57:27.10 2BigMMRe.net
例えばあるグローバル変数(あえてそう呼ぶ)を排他的に読み書きするクラスがあると、
そのクラスのインスタンスは複数作らせたくないだろうね
複数作らせたくないってのは、一般にそういう外部のグローバルな状態に密に依存しているために生じるもんだ
それが必ずしも悪い設計だとは言わないが、そういう設計は、
単体テストの実施や依存関係の把握が困難になる等の理由から批判されることが多い

55:デフォルトの名無しさん
16/06/17 07:42:45.08 f7RC9hNn.net
forループ毎回書くのが面倒、特に二重、三重となるとかなりなんですが、
簡易化する方法ないですか?何が面倒って()の中をずらずら書くのがすごい面倒。

56:デフォルトの名無しさん
16/06/17 09:48:20.65 K1G/1MsT.net
>>54
例えばどんなの?
foreach使ったら簡易化できない?
for,forr,foreachあたりのコードスニペットがあるから、入力はそこまで苦にならないと思うけど。

57:デフォルトの名無しさん
16/06/17 10:01:00.10 f7RC9hNn.net
>>55
for(i=0 ;i<=100; i++)
for(j=0; j<=100; j++)
{

}

58:デフォルトの名無しさん
16/06/17 10:04:55.16 TfA05fVl.net
嫌とか言われても、必要なら書けよ

59:デフォルトの名無しさん
16/06/17 10:12:44.69 DO0G9mSR.net
>>54
VSならforって打ってtab2回押すとテンプレでるよ

60:デフォルトの名無しさん
16/06/17 10:15:52.91 e8jFtyA4.net
面倒ならLinq使えとしか

61:デフォルトの名無しさん
16/06/17 10:19:25.58 L4e61ZPp.net
test

62:デフォルトの名無しさん
16/06/17 10:27:17.80 L4e61ZPp.net
コードを前の行まで詰めたい場合一瞬でする方法について質問です。
例えばすごい長い引数の場合
void myobject(int x, int y, int myobject.........
...................
.................. int z);
となって引数部分が団子になって煩わしいので
一行にしたいのですが、方法はありますか?

63:61
16/06/17 10:28:10.05 L4e61ZPp.net
Bact+Ctrlだと前の行の一文字が消えてしまい
○は空白だとすると以下の例
int (int x,
○○int y)
↓ctrl+backspace
int (int x,
int y)
↓ctrl+backspace
int (int xinty)
となって二回目の適用で,が消えてしまいます。
それに一行につき2回ctrl+backspace(1回目はその行をつめる、2回目は
前の行の最後の文字を消してつめる)になるので結局面倒くさいです。
一気にできる方法ありますか?
勿論長すぎる引数の場合、2行程度なら団子になるのは仕方ないとして,それでも
1行ですませられるなら1行ですましたいので方法はないかと思って質問しました。

64:デフォルトの名無しさん
16/06/17 10:34:42.18 L4e61ZPp.net
追記し忘れました
Visual C#を使っています。

65:デフォルトの名無しさん
16/06/17 11:18:03.94 4Hf/IQi6.net
いまいちよく分からんがCtrl+DELで代用できないか

66:デフォルトの名無しさん
16/06/17 11:32:00.58 K1G/1MsT.net
2回目は普通にBackSpace押せばいいんじゃ……?
行数が多いなら、置換したほうが早そうだけど。

67:デフォルトの名無しさん
16/06/17 12:22:01.72 0GwR18M1.net
>>61
構造体で渡したら?

68:デフォルトの名無しさん
16/06/17 13:38:06.03 g7ndF8Us.net
>>54
俺流
class LoopValue
{
public int i;
public int j;
public static IEnumerable<LoopValue> Enumerate()
{
for(int i = ...)
for(int j = ...)
yield return new LoopValue() { i = i ,j = j};
}
}
void Test()
{
foreach(var loopValue in LoopValue.Enumerate())
{
}
}
ループ中に変則的な飛び値や整数以外があっても割と綺麗になる

69:デフォルトの名無しさん
16/06/17 13:39:23.95 BY8


70:45Bhr.net



71:デフォルトの名無しさん
16/06/17 13:45:47.47 g7ndF8Us.net
在りません、始めるまでもなく糞ですw
捨て置くが良しwww

72:デフォルトの名無しさん
16/06/17 13:48:32.88 BY845Bhr.net
>>69
やらないって選択肢はないんだよ

73:デフォルトの名無しさん
16/06/17 13:53:35.81 0GwR18M1.net
>>70
UWPは選択肢に無いの?

74:デフォルトの名無しさん
16/06/17 13:55:12.97 CYdk5Mt/.net
>>68
URLリンク(msdn.microsoft.com)
URLリンク(github.com)

75:デフォルトの名無しさん
16/06/17 13:56:01.01 BY845Bhr.net
>>71
個人的にはUWPにも興味はあるけど、仕事が絡んでくるからWPFしか選択肢はないんだ

76:デフォルトの名無しさん
16/06/17 13:59:42.81 BY845Bhr.net
>>72
さんくす
MSDNの方は、WPFデザイナーのチュートリアル→WPFのチュートリアル→WPFにおける移行と相互運用性
の順に読み進めていけばいいんだろうか?
GitHubの方は、何もわからない状態なのに、これだけ見せられてもどうにもならんわ

77:デフォルトの名無しさん
16/06/17 14:01:44.94 g7ndF8Us.net
地獄へようこそw
UWPとかビジネス的にWindowsでモバイルという選択肢は少ないだろうな、特別な事情ない限り

78:デフォルトの名無しさん
16/06/17 14:06:04.85 BY845Bhr.net
>>75
今のところモバイルは考える必要はないわ
そんなに地獄なのかよ

79:デフォルトの名無しさん
16/06/17 14:08:06.60 4Hf/IQi6.net
異様にWPFを憎んでる人がいるだけだから気にすんな

80:デフォルトの名無しさん
16/06/17 14:10:22.56 g7ndF8Us.net
ぐおぉぉぉぉCOMが憎いATLが憎いWPFが憎いぞおぉぉぉぉw

81:デフォルトの名無しさん
16/06/17 14:13:47.71 CYdk5Mt/.net
>>74
最近のマイクロソフトはgithubにサンプルをごっそり置いといてくれてるので
VSでリポジトリを複製し使いそうなものをビルドし実行→サンプルの中身を見たり改造して検証という方法が可能

82:デフォルトの名無しさん
16/06/17 15:02:28.74 L4e61ZPp.net
>>65
なるほど置換ですか、その考えはなかった。ちょっと正規表現勉強してきます。
○|\nで何故か空白が残ってるという

83:デフォルトの名無しさん
16/06/17 15:04:21.80 KCpIgVGN.net
質問です。
以下のHTMLからaタグをウェブブラウザコントロールで取得したいんだけど
これって階層を辿らないと絶対無理なのですか?
いきなりaタグをどうにか検索する方法ってないですかね?
元々のHTMLが色々壊れてて階層辿っていくのものすごい大変なんです…
<html>
<body>
<div>
<a href=

84:デフォルトの名無しさん
16/06/17 15:06:04.69 KCpIgVGN.net
あ~すんません!
HTMLはこれで。
<html>
<body>
<div>
<a href="#">link</a>
</div>
</body>

85:デフォルトの名無しさん
16/06/17 15:09:45.45 vAZ998IX.net
正規表現で十分可能でしょ

86:デフォルトの名無しさん
16/06/17 15:13:39.38 4Hf/IQi6.net
a要素見つけるだけならGetElementsByTagNameでいいけど
それが目的の要素かどうかの判断はいいのかな

87:デフォルトの名無しさん
16/06/17 15:26:43.75 KCpIgVGN.net
>>84
え?そうなのですか?じゃ例えばこれはどうですかね?
下のdivタグclass="c"を一発で検索とかはできますかね?
とにかく元のHTMLが壊れてるので階層を辿るのが大変なのですぐ検索できればうれしんですが…
<html>
<body>
<div class="a">
<div class="b">
<div class="c">
</div>
</div>
</div>
</body>
</html>

88:デフォルトの名無しさん
16/06/17 15:40:05.92 1lYAl1Ex.net
>>85
前にも出てるけど正規表現で一発

89:デフォルトの名無しさん
16/06/17 15:42:57.92 BY845Bhr.net
>>82



90:オがよくわからんのだが、HtmlDocumentに変換することは可能なのか? それとも壊れていて不可能なのか? 答えはそれ次第だと思うわ



91:デフォルトの名無しさん
16/06/17 15:47:21.15 KCpIgVGN.net
>>86
>>87
最終的にそこを、ウェブブラウザコントロールから
クリックしたいので、あくまでもウェブブラウザコントロールを介して検索したいんですよね。
何か良い方法ありますかね?

92:デフォルトの名無しさん
16/06/17 15:51:43.42 BY845Bhr.net
>>88
質問に答えろよ

93:デフォルトの名無しさん
16/06/17 15:54:12.98 KCpIgVGN.net
>>89
すいません!
webBrowser1.Document
から色々指定は出来るんですが、そういう事ですかね?

94:デフォルトの名無しさん
16/06/17 16:04:12.97 KCpIgVGN.net
>>89
それともDocumentTextでhtml取得という事ですかね?
ただ動的ページでスクリプトの出力した内容を取得したいので
それも考慮しないといけないんですよねえ…

95:デフォルトの名無しさん
16/06/17 16:05:12.15 WJH+jUHE.net
>>80
範囲選択で下の置換してはいかが? 特殊な条件だとうまくいかないかもだけど、やりたいことは出来そうな気がする。
¥s+

(半角スペース1文字)

96:デフォルトの名無しさん
16/06/17 16:36:02.39 L4e61ZPp.net
>>92
出来ました!!
ありがとうございます!

97:デフォルトの名無しさん
16/06/17 17:49:48.96 4Hf/IQi6.net
>>85
目的のdiv要素がclass="c"であることで特定できるなら
GetElementsByTagName(あるいはAll)の中からGetAttribute("className") == "c"になるのを探せばいい

98:デフォルトの名無しさん
16/06/17 17:55:17.09 VRoAf94l.net
>>58
マジかよ初めて知った
クリップボード拡張ソフトにfor(int i=0;i<回数;i++){とfor (int i = 回数; i >= 0; i--){を登録してた
たまに++選択するつもりが、--選択してバグ引き起こしたりしてたけど

99:デフォルトの名無しさん
16/06/17 18:11:00.20 jYlDfS4o.net
>>95
コードスニペット自分で定義できるよ

100:デフォルトの名無しさん
16/06/17 19:58:10.13 o2AfJmA4.net
void KeyeventA(Keyevent e)・・・①
{
x=KeyeventB;・・・・・※
methodA();
methodB();

}
stucks KeyeventB(Keyevent e)・・・・②
{

}

こういう二つのキーイベントメソッドがあって片方の中にキーイベントメソッドを呼ぶような形の場合、
①と②は同じイベントで発生するんでしょうか?もし同じイベントの場合①のほうが処理が早くて、
※つまり②のメソッドが処理できずにmethodA()以下が実行される可能性もあると思うんですけど、実際問題どうなってますか?

101:デフォルトの名無しさん
16/06/17 20:15:06.28 D8ioveLA.net
その原理の場合、
methodAよりmethodBの方が早く処理が終わってしまうことも考慮しなければいけないと思いますが、その点はどうお考えですか?

102:デフォルトの名無しさん
16/06/17 20:25:29.64 WJH+jUHE.net
>>97
色々と意味わからん。
xはFunc<>か何か?
stucksってクラス名?

103:デフォルトの名無しさん
16/06/17 21:34:49.97 Q6WYEFZx.net
>>97
とりあえずC#のコードに見えるようにしてくれよ
private void KeyeventA(object sender, EventArgs e)
{
KeyeventB(null,null);//またはKeyeventB(sender,e);
methodA();
methodB();
}
private void KeyeventB(object sender, EventArgs e)
{
}
これなら間違いなくKeyeventA呼ばれたらKeyeventBも呼ばれるけど
stucks KeyeventB(Keyevent e)って意味がわからない

104:デフォルトの名無しさん
16/06/17 21:59:03.27 jYlDfS4o.net
>>97
スレ間違ってんぞ

105:デフォルトの名無しさん
16/06/17 22:26:27.66 o2AfJmA4.net
>>99
>>100
このサイトを参考にしています。
URLリンク(note.chiebukuro.yahoo.co.jp)
private void Form1_KeyDown(省略)
private Point MovePosition(省略)
この二つのメソッドが僕のいうキーイベントが発生したときのメソッドです。
Form1_KeyDownの中でMovePositionが呼ばれていますよね?
そのモデルだけ書きたくて、このサイトのコードをそのままはる訳にはいかないので
かなり簡略化したのが>>97です。

106:デフォルトの名無しさん
16/06/17 22:35:06.08 ef5JqFMV.net
>>102
デバッグでステップ実行すれば一発でわかるけど、自分で試さずに他人に聞くのおかしくね?

107:デフォルトの名無しさん
16/06/17 22:35:11.22 KCpIgVGN.net
>>94
ありがとうございます!試してみます!

108:デフォルトの名無しさん
16/06/17 22:37:25.13 8RVZcEaA.net
>>102
最初からその例を出せばいいものをなんで改悪して説明しようとするのか意味がわからない
MovePositionはForm1_KeyDownから呼び出されている只のメソッドなんだけど

109:デフォルトの名無しさん
16/06/17 22:45:45.30 o2AfJmA4.net
>>105
object senderが片方にはないことに今気づきました。
private Point MovePosition(省略) ←これはキーが押されただけで実行される
コールバックではないってことでよろしいでしょうか?

110:デフォルトの名無しさん
16/06/17 22:46:00.62 Q6WYEFZx.net
>>102
簡略化して相手に伝わらなかったら簡略化じゃなく改変だ。stucksとかどこにもないし
そのページはキーイベントでMovePositionに値渡しているだけで
「二つのキーイベントメソッドがあって片方の中にキーイベントメソッドを呼ぶような形」にはなっていない
何をやりたいかわからない

111:デフォルトの名無しさん
16/06/17 22:49:45.10 o2AfJmA4.net
>>107
いやコールバックの中にコールバックがあってわけわかんねーってなってました。
単にメソッドだけ書きたかったんでstucksとかは本当適当です。すいませんでした。

112:デフォルトの名無しさん
16/06/17 22:53:50.48 o2AfJmA4.net
根本から分かってませんでした。長々とすいませんでした。

113:デフォルトの名無しさん
16/06/17 23:21:34.87 1W2aPHlH.net
結局stucksってなんだったの
叩くつもりはないけど、心底疑問

114:デフォルトの名無しさん
16/06/17 23:23:15.68 vyhCMzhv.net
>>108
一応自分が間違っているかどうかも確認したいから書いておくと
そういうのはコールバックとは言わないぞ、動作として別の関数が呼び出されると定義されているだけで
呼び出されるまで不特定な関数を中で呼び出しているわけでないからな

115:デフォルトの名無しさん
16/06/17 23:31:05.76 Sh+IdTol.net
基本的にはイベントハンドラはコールバックの一種

116:デフォルトの名無しさん
16/06/17 23:43:25.84 vyhCMzhv.net
言葉足らずで申し訳ない
イベントハンドラの登録自体はコールバックを渡しているってことだけど
コールバック登録されているものを中で呼び出す関数を関数内で呼び出す場合はただの呼び出しだということが言いたかっただけだわ

117:デフォルトの名無しさん
16/06/18 00:20:16.32 shvAeBe8.net
DataObjectクラスってのがいまいち使い方わからないんですがどういった時に使うんでしょうか?
microsoftのサイト見ても形式的な説明はあるんですがいまいち用途がわからないです。

118:デフォルトの名無しさん
16/06/18 00:22:04.86 EurK/RUq.net
>>114
そのmicrosoftのサイトに、Clipboard およびドラッグ アンド ドロップと書いてるんだが

119:デフォルトの名無しさん
16/06/18 00:24:32.83 auElVeTk.net
>>114
複数のデータタイプを扱う時。例えばクリップボード゙とのやり取り
URLリンク(dobon.net)

120:デフォルトの名無しさん
16/06/18 00:39:31.14 shvAeBe8.net
>>116
なんでClipboard.SetDataObject(bmp, true);でも出来るのに
態々dataに変換してるんでしょうか?

121:デフォルトの名無しさん
16/06/18 00:56:38.36 auElVeTk.net
>>117
BMPだけでなく複数のデータをクリップボードにセットしているんだけど
ちゃんと記事読んだ?
クリップボードに一つのタイプのデータだけセットするのならそこのやり方は必要ない

122:デフォルトの名無しさん
16/06/18 01:02:01.60 shvAeBe8.net
>>118
複数のデータなら引数の数は増えないんでしょうか?

123:デフォルトの名無しさん
16/06/18 01:08:02.21 auElVeTk.net
>>119
引数の数って何?
DataObject dataに"DataFormats.Text"と"DataFormats.Bitmap"と"DataFormats.FileDrop"の3つのデータを入れてそれをクリップボードにセットしているだけ
あと勘違いしているかもしれないけどClipboard.SetDataObject(bmp, true);とかで一つずつセットしたら最後にセットした物しか反映されないから

124:デフォルトの名無しさん
16/06/18 01:19:36.30 shvAeBe8.net
>>120
クリップボードって3つ保存できましたっけ?
何故3つを纏めてクリップボードに出力できるその理屈がよくわからない

125:デフォルトの名無しさん
16/06/18 01:44:02.36 jRCrNOE1.net
>>121
クリップボードの履歴見れるアプリなんていくらでもあるだろ

126:デフォルトの名無しさん
16/06/18 07:59:37.03 YZGqi88u.net
>>121
URLリンク(dobon.net)
>>122
履歴の話じゃない

127:デフォルトの名無しさん
16/06/18 08:04:42.66 Fz8S5TPc.net
>>121
たとえばWordやExcelでコピーしたテキストはメモ帳でも使えるし
VisualStudioでコピーしてWordに貼り付ければ色情報が保持されたまま貼り付けできる
つまり自アプリだけじゃなくて他アプリでの連携の為に用意された機能なんだよ

128:97
16/06/18 10:42:52.21 U0yvzOQf.net
Form1_KeyDownはイベント登録してるから呼ばれる。
MovePositionはイベント登録してないがeの情報だけ受け取っている。
そういうことか、別にsender object書いてるとかそれはデフォルトの
Form1_KeyDownがそうなってるから書かなければいけないだけでjavaみたいに
引数eだけのイベント処理メソッドも書こうと思えば書けるんですね。

129:デフォルトの名無しさん
16/06/18 10:45:19.11 U0yvzOQf.net
そこでなんですが、ステップ実行の仕方が分かりません…
ブレークポイントを二か所
Form1_KeyDownの中の一行
MovePositionの中の一行
で設定してF11ボタン押したんですが、なんかプログラム全体を一行ずつ実行してる感じです。

130:デフォルトの名無しさん
16/06/18 11:00:12.85 Fz8S5TPc.net
それがステップ実行だから間違っていない

131:97
16/06/18 11:03:51.53 U0yvzOQf.net
>>127
2行だけ交互に実行したいけどそれはどうやればいいんですか?

132:デフォルトの名無しさん
16/06/18 11:09:37.30 auElVeTk.net
>>128
見たいところだけブレークポイント設定してデバッグ(F5)

133:デフォルトの名無しさん
16/06/18 11:16:59.63 U0yvzOQf.net
>>129
キーイベントの場合F5に反応してしまってそれでプログラムが進んでしまうんですが
そういう対処方法ありますか?

134:デフォルトの名無しさん
16/06/18 11:19:56.93 auElVeTk.net
>>130
デバッグ実行中はF5じゃなくてエディタの続行ボタンを使えば?

135:デフォルトの名無しさん
16/06/18 11:34:40.03 U0yvzOQf.net
>>131
それでいけました。
もう一つ疑問ですがブレイクで停止中なのに何故キーボタンには反応してブレーク地点まで飛ぶんでしょうか?

136:デフォルトの名無しさん
16/06/18 11:55:57.92 U0yvzOQf.net
というのはある程度連打したキーをためて一気に実行してほしいからです。

137:デフォルトの名無しさん
16/06/18 12:35:07.36 auElVeTk.net
>>133
キーをためるのは無理だろうから有効なキーコードが入力されるごとにカウントして見たい回数になったところで止めるような部分(ブレークポイントを入れる部分)を追加するか
もしくはキーコードを直接送る部分を作って見たい回数だけForm1_KeyDownを呼び出す

138:デフォルトの名無しさん
16/06/18 15:14:53.25 U0yvzOQf.net
>>134
ためるの無理なんですか、承知しました。
後Watchで変数監視できますが、Watch欄に全変数一括して持ってくることは可能ですか?
一つずつ手入力でやってますが少々面倒で…

139:デフォルトの名無しさん
16/06/18 16:45:33.56 CfJxj2hM.net
KeyDownで連打を貯めたいってどういうことなんだ

140:デフォルトの名無しさん
16/06/18 18:23:09.94 U0yvzOQf.net
>>136
そもそも溜める理由なかったですね忘れてください。
ウォッチ使えないな、何でホワイトアウトしてるんだろう。

141:デフォルトの名無しさん
16/06/18 19:54:27.59 YZGqi88u.net
>>137
君のために指摘しとくと
グレーアウト

ちな、ホワイトアウトは吹雪とかの場合に使う

142:デフォルトの名無しさん
16/06/18 21:19:31.19 Sk62rO3o.net
dynamic使うと遅くなるの?

143:デフォルトの名無しさん
16/06/18 21:26:46.85 euI6F3wt.net
最初の一回は遅いけどそれ以後は割と速いよ

144:デフォルトの名無しさん
16/06/18 21:30:23.49 Sk62rO3o.net
>>140
二回目以降も若干遅いと言うこと?

145:デフォルトの名無しさん
16/06/18 22:10:48.65 pG9pCEms.net
>>141
同じ速度だったら逆に凄い

146:デフォルトの名無しさん
16/06/18 22:45:14.91 VROp9xuJ.net
お前らこんな調�


147:ラもしない奴の連投質問によく答えてやるよな



148:デフォルトの名無しさん
16/06/18 23:31:37.64 en0l8YJd.net
本人の代わりにググるスレとかあったらいいのにね

149:デフォルトの名無しさん
16/06/19 08:50:20.52 mQfhDLF3.net
アプリの起動しっぱなしってのは.NETではあまり勧められる事ではないでしょうか?
ブラウザ起動時はずっとアプリ実行して立ち上げてる状態にしたいんだけど、このことで悪影響とかありますか?

150:デフォルトの名無しさん
16/06/19 08:57:22.89 I//I4PRq.net
メモリリークとかハンドルリークとかありそう

151:デフォルトの名無しさん
16/06/19 09:06:15.32 zgl2bkrp.net
>>146
それは.Netに原因があるわけでなく作られたアプリに問題がある場合な

152:デフォルトの名無しさん
16/06/19 09:11:05.00 I//I4PRq.net
>>147
いいやマイクロソフトが悪い

153:デフォルトの名無しさん
16/06/19 09:15:27.52 +p0/Ua/B.net
>>145
Vista以降は明示的に切らない限り.Netのランタイムはずっと起動している
.Netのプログラムはそのランタイム上で動いている
これで問題が起こるのならランタイムそのものか動いているプログラムに問題があるかしかない

154:デフォルトの名無しさん
16/06/19 09:41:58.91 s7xLro2i.net
>>148
ソフト側の問題をマイクロソフト側の問題にすり替える人間のクズだな

155:デフォルトの名無しさん
16/06/19 10:00:22.79 mQfhDLF3.net
>>149
.NETのランタイムってSQLとかっていう名前のプロセスも含まれますか?
具体的にどれかタスクマネージャーで確認するにはどうすればいいんでしょう

156:デフォルトの名無しさん
16/06/19 10:05:56.55 mQfhDLF3.net
>>146
変数はメモリーの外で宣言するようにしているのでメモリリークの心配はないかと。
というかmainメソッド内で変数宣言するメリットってあるんでしょうか?

157:デフォルトの名無しさん
16/06/19 10:06:37.67 mQfhDLF3.net
変数はメソッドの外のタイプミスです。

158:デフォルトの名無しさん
16/06/19 10:13:51.19 qvkTbkKV.net
そのレベルなら今ウダウダと細かい事気にしないで
とにかく入門書の一冊でもちゃんと終わらせるのと、とにかく作って経験積んだ方がいいよ
はっきり言って基本的なところが分かってないから、個別にこんなところで聞いてたらキリがない

159:デフォルトの名無しさん
16/06/19 10:35:19.94 +p0/Ua/B.net
やりたいことがあって~はどうしたらいいんでしょうかなら質問スレらしくていいけど
・~はメリットあるんでしょうか
・~はどういうときに使うんでしょうか
この手のは説明するのにキリが無いんだから自分が使わないのなら気にするなよ

160:デフォルトの名無しさん
16/06/19 11:09:23.85 FiqN+bVa.net
質問者様に向かってなんだその言い草は
お前こそ答える気がないなら気にしないで黙ってろ
答える気がある奴が勝手に答えればいい

161:デフォルトの名無しさん
16/06/19 11:14:19.72 qvkTbkKV.net
>>156
変数のスコープが分かってない子に解説してたらそれだけでこのスレ終わっちゃうぞ

162:デフォルトの名無しさん
16/06/19 11:15:49.94 +p0/Ua/B.net
>>156
質問するなとは書いてないんだから俺に突っかかる前に>>152に答えてやれよ

163:デフォルトの名無しさん
16/06/19 11:18:55.41 D8PkNzp4.net
>>152
変数の有効範囲(スコープ)は出来る限り狭い方が良い。
可読性が向上するので、バグが発生し難くなる。

164:デフォルトの名無しさん
16/06/19 11:38:16.10 mQfhDLF3.net
>>159
メソッドの引数が増えてしまいませんか?
メソッドはの戻り値もvoidにしたいし

165:デフォルトの名無しさん
16/06/19 11:43:51.24 s7xLro2i.net
グローバル変数が100、200と増えてきたとき、どの変数がどのように使用されているかを完全に把握できるの?

166:デフォルトの名無しさん
16/06/19 11:55:12.16 CQK/Xnlu.net
>>156
バカ発見

167:デフォルトの名無しさん
16/06/19 12:01:33.56 mQfhDLF3.net
>>161
僕がメソッド外に書く変数は
・キャラのポジションや攻撃力などの基本情報の変数
・Graphics Bitmapなど極端にメモリを消費する変数
メソッドに書かない変数は
・添え字
・ファイルパス(フォルダの階層なのでプライバシーに関わるから)

168:デフォルトの名無しさん
16/06/19 12:09:15.73 esEuQC7H.net
昔、自分で作ったアプリを直して復活させようとと10年ぶりくらいにVS立ち上げてみた(XPでwww)
使い方さっぱり忘れてるわ!!!ほかのアプリと混同してたりwww
暫くここを読んで思い出します・・・
とりあえずこのスレがまだあって嬉しかったwwwまたよろしく。

169:デフォルトの名無しさん
16/06/19 12:09:39.36 s7xLro2i.net
全部メソッド外じゃんw
てかプライバシーって何?外に書こうが内に書こうが何も変わらないぞ

170:デフォルトの名無しさん
16/06/19 12:13:05.53 mQfhDLF3.net
>>165
頭ぼけてますね
メソッド外
・キャラの基本情報
・GraphicsやBitmapなどメモリを占有するクラスの宣言とオブジェクト生成

メソッド内に書く変数は
・ループで使う添え字
・ファイルパス

171:デフォルトの名無しさん
16/06/19 12:15:56.71 D8PkNzp4.net
まともに答えても我流を直そうともせず余計な事ばっかり気にしてるいつもの子だった…。

172:デフォルトの名無しさん
16/06/19 12:20:57.59 pXg+pklT.net
>>145
問題ない
>>152
メソッド外から使う変数はメソッドの中に書いてはいけない
>>160
スパゲティコードになりそう
>>163
とりあえずオブジェクト指向学ぼうか?
あとメソッドの外に書く変数じゃなくて、インスタンス変数/クラス変数って言おうね
>キャラのポジションや攻撃力などの基本情報の変数
これはイントランス変数
>Graphics Bitmapなど極端にメモリを消費する変数
こういうメモリを大量に消費する物は、出来るだけnewしないようにしないといけないから必要最低限だけ作るようにする
参照型は、スタックに入るのはオブジェクトへの参照だからローカル変数/メンバ変数はあまり関係ない
時と場合による
>添え字
添え字って言っても色々あるから時と場合による
for文とかなら基本ローカル
>ファイルパス(フォルダの階層なのでプライバシーに関わるから)
プライバシーは関係ない。ローカルで動かすものは全て見られていると思え
あと、文字列も参照型だから参照しかスタックにはつまれない

173:デフォルトの名無しさん
16/06/19 12:25:22.36 pXg+pklT.net
>>166
とりあえず「すっきり分かるjava入門」読もうか?
c#の構文はjava+αだから、javaを覚えればc#も書ける
オブジェクト指向とか、参照とか結構詳しく解説してあるからおすすめ
俺もこの本でjava勉強した後にc#したけど、構文一緒だったから1日で出来るようになったよ
javaの構文をそのままc#で使って、少しずつc#風に(プロパティとか)書き換えるといい

174:デフォルトの名無しさん
16/06/19 12:31:07.53 D8PkNzp4.net
>>169
スッキリわかるJava入門か。
帯に「RPG制作を例に、オブジェクト指向もよくわかる!」とか書いてあるし、ぴったりかもね。

175:デフォルトの名無しさん
16/06/19 12:31:16.41 gfPWR5Hk.net
最近はインジェクション以外の変数を滅多に書かなくなったな
継続的にリファクタリングしてるから変数がほとんど引数になる

176:デフォルトの名無しさん
16/06/19 12:43:20.30 SFAW8Ppa.net
以下のプログラムなんですが実行を試み、ペイントに貼り付けようとすると
「クリップボードにある情報はペイントに挿入できません。」となってしまいます。
原因は何でしょうか?
///////////////////////////////////////////////////////////////
MemoryStream ms = new MemoryStream();
Image image = Image.FromFile(filePath);//BMP形式の画像取得
Dataobject data = new DataObject();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
data.SetData(DataFormats.Bitmap, true, ms);
Clipboard.SetDataObject(data, true);
///////////////////////////////////////////////////////////////
参考にしたページは
URLリンク(dobon.net)です。
imageをクリップボードに表示する事はもちろん可能でした。

177:デフォルトの名無しさん
16/06/19 12:49:41.26 FiqN+bVa.net
C#


178:erならもっと食いつくかと思ったのにそうでもないね 本人が素知らぬ顔で質問を続けたせいか



179:デフォルトの名無しさん
16/06/19 12:52:17.05 +p0/Ua/B.net
>>172
MemoryStreamにいれてコピーしたらMemoryStreamに格納しないと取り出せない
何で直接BMPでコピーしない?

180:デフォルトの名無しさん
16/06/19 12:54:06.79 SFAW8Ppa.net
>>174
URLリンク(tomovertex.at.webry.info)
これがしたいんです。
javaではできるそうですがC#だと透過をそのまま残すのはちょっと難しいらしいですね。

181:デフォルトの名無しさん
16/06/19 13:01:08.28 +p0/Ua/B.net
ああBMPじゃなくてBitmapだった
>>175
そこのままにやればPNG形式でコピーできるけどペイントはそれに対応していない
GIMPはコピーで取り込めるのを確認している
クリップボードでBitmapはαチャンネルに対応していないからBitmapでやる限り無理
Bitmap形式でPictureBoxとかで透過表示したい場合は別

182:デフォルトの名無しさん
16/06/19 13:21:56.41 vFy/bQYV.net
class MyForm : Form
{
public System.Windows.Forms.Button[] mButton = new System.Windows.Forms.Button[5];
public System.Windows.Forms.TextBox[] mTextBox = new System.Windows.Forms.TextBox[5];
private void Form1_Load(object sender, System.EventArgs e)
{
//ボタンコントロールのインスタンス作成し、プロパティを設定する
for (int intLoop = 0; intLoop <= 4; intLoop++)
{
//インスタンス作成
mButton[intLoop] = new System.Windows.Forms.Button();
mTextBox[intLoop] = new System.Windows.Forms.TextBox();
//各種プロパティ設定
mButton[intLoop].Name = "Button" + intLoop.ToString();
mButton[intLoop].Text = "Button" + intLoop.ToString();
mButton[intLoop].Size = new Size(150, 30);
mButton[intLoop].Location = new Point(10, 10 + 40 * intLoop);
mButton[intLoop].Tag = intLoop;
mTextBox[intLoop].Name = "TextBox" + intLoop.ToString();
mTextBox[intLoop].Text = "TextBox" + intLoop.ToString();
mTextBox[intLoop].Size = new Size(150, 30);
mTextBox[intLoop].Location = new Point(170, 15 + 40 * intLoop);
mTextBox[intLoop].Tag = intLoop;

183:デフォルトの名無しさん
16/06/19 13:22:46.23 vFy/bQYV.net
//以下はデフォルトで設定されているので不要だが念のため設定
mButton[intLoop].Enabled = true;
mButton[intLoop].Visible = true;
mTextBox[intLoop].Enabled = true;
mTextBox[intLoop].Visible = true;
//イベントの関連付け
mButton[intLoop].Click += new EventHandler(Button_Click);
}
//フォームにコントロールを追加
//(注意)前面・背面を考慮する場合、AddRange を先に実行したコントロールの方が前面に来る
this.Controls.AddRange(mButton);
this.Controls.AddRange(mTextBox);
}
//ボタンのクリック
private void Button_Click(object sender, EventArgs e)
{
int intIndex = (int)((System.Windows.Forms.Button)sender).Tag;
MessageBox.Show("上から" + (intIndex + 1).ToString() + "番目のテキストの中身は" + mTextBox[intIndex].Text + "です。");
}
public static void Main()
{
Application.Run(new MyForm());
}
}

184:デフォルトの名無しさん
16/06/19 13:23:59.05 vFy/bQYV.net
上記のコードを走らせてみてもウインドウしか表示されません
どこが悪いのでしょうjか?

185:デフォルトの名無しさん
16/06/19 13:24:15.76 SFAW8Ppa.net
>>176
>そこのままにやればPNG形式でコピーできるけどペイントはそれに対応していない
透明の選択という項目があって、ペイント上で絵をその設定でコピーして貼り付けたらちゃんと透明になってますけど?
>Bitmapはそもそも透過が無理(Transparentで透過させてるようにみせるのは可能)
分かりました、そうなんですね。
>GIMPはコピーで取り込めるのを確認している
さっきGIMPインストールして試しました。
取り込めるんですが透明の部分が白い画像として取り込まれてしまいます。

186:デフォルトの名無しさん
16/06/19 13:28:24.96 pXg+pklT.net
ソース貼る時は半角スペース2個を全角スペース1個に置き換えて貼ってくれ…

187:デフォルトの名無しさん
16/06/19 13:31:10.74 vFy/bQYV.net
>>181
迷惑かけて申し訳ございません
上記のコードについて分かったことがあります
Mainメソッドのところに
Application.Run(new MyForm());
しかかいていませんね

188:180
16/06/19 13:37:08.69 SFAW8Ppa.net
申し訳ありません。
>さっきGIMPインストールして試しました。
>取り込めるんですが透明の部分が白い画像として取り込まれてしまいます。
これについてはもともとの画像が透過でなかったためそのようになりました。
ただペイントは透過切り取りが可能なのに何故対応してないと分かるのでしょうか?

189:デフォルトの名無しさん
16/06/19 13:48:41.98 Kmjvz99s.net
ブラウザで開いた透過PNGをクリップボードにコピーしてPowerPointに貼り付けるとちゃんと透過してるんだけど、これって結構厄介なのかな

190:デフォルトの名無しさん
16/06/19 14:09:23.28 1xNvGCg2.net
stringbuilderを使う状況というのは、出来上がる文字列の長さがどれくらい以上だと
効果的なの?

191:デフォルトの名無しさん
16/06/19 14:24:31.05 s7xLro2i.net
長さじゃなくて回数が重要
それでも10~20程度じゃ速度低下なんてほとんど起こらないので
ループで不特定回数の文字連結を行うときに使うようにするといい
まぁ何万文字とかそこら辺までいくとStringBuilder使えよって感じはするけど
気になるならいろいろな条件で計測してみるといいよ

192:180
16/06/19 14:42:24.03 SFAW8Ppa.net
どんなアプリでもそのアプリ内では透過状態を残す事ができるけど
コピーして他アプリに貼り付けた途端に白い色になってしまうな。
これ難しくて実現できないかもしれませんね。
でもSAI_FONっていうソフトがあるんだけど、これは文字をSAIに送ることができて
透明部分が白い部分にならないようになってる。一体どういう仕組みなんだろう?
初心者には難しいのかなぁ。

193:デフォルトの名無しさん
16/06/19 14:43:19.04 SFAW8Ppa.net
一応リンク
URLリンク(onix.moe.hm)
凄いソフトです。こんなのが作りたい。

194:デフォルトの名無しさん
16/06/19 15:18:48.47 SFAW8Ppa.net
一応excel、gimpは透過画像貼り付け可能でした。
でもexcelからsaiだと透明だったのが白になりましたが。
saiには貼り付けできなかったのが非常に残念です。
かなり厄介な話で初心者スレにはそぐわないので、すいません
ここで終わらせて頂きます。ありがとうございました。

195:デフォルトの名無しさん
16/06/19 15:59:32.10 BrpXsgWP.net
reshaperの設定をエクスポート、インポートする方法を教えて

196:デフォルトの名無しさん
16/06/19 16:12:25.49 cEvpvy+s.net
エラー捕まえるためにtry-catch使ってるけど以下のように書くとエラーメッセージはわかるけどエラーが発生したときの変数iの値とかがわからない。
try
{
 for (int i = 0; i < 100; i++)
 {
  // 処理いろいろ
 }
}
carch (Exception ex)
{
 Console.WriteLine(ex.Message); // ここにブレークポイント
}
やはりtry-catchの外で変数を宣言するべき?
int i;
try
{
 for (i = 0; i < 100; i++)
 {
  // 処理いろいろ
 }
}
carch (Exception ex)
{
 Console.WriteLine(ex.Message); // ここにブレークポイント
}
行数増えるし見た目も良くない(個人の感想です。)ので出来れば宣言を分けたくないし、
変数が多いと分けるのも面倒。
プロフェッショナル版を買えば1番目の例でも変数iの値がわかるとかないですよね?
地道に分けるしかない??

197:デフォルトの名無しさん
16/06/19 16:23:22.45 s7xLro2i.net
プロでも同じなのでエラーがあったときにどうしたいのかによって書き分けるしかない

198:デフォルトの名無しさん
16/06/19 16:34:02.09 pXg+pklT.net
プロ版とかない

199:デフォルトの名無しさん
16/06/19 16:44:23.07 Pvc+naRU.net
>>191
try {
 for (int i = 0; i < 100; i++){
  try {
   // 処理いろいろ
  } catch(Exception ex) {
   throw new Exception(i.ToString(), ex);
  }
 }
} carch(Exception ex) {
 Console.WriteLine(ex.Message); // ここにブレークポイント
}

200:デフォルトの名無しさん
16/06/19 17:01:13.57 tj+CW6H4.net
>>180
ペイントで対応していないのは."PNG"というデータ形式指定したデータ(DataFormats."PNG")
>>184
Device Independed BitmapってデータタイプだとできるみたいだけどC#でそのデータタイプがどう作られるかわからない
あとoffice系は"PNGが取り込めるって聞いているけどoffice持っていないから検証できない
DataFormats.Bitmapで透過画像を使うと色化けするか透過が無視される
>クリップボードを用いるとBMPデータの透過色が変換されてしまう
URLリンク(social.msdn.microsoft.com)
画像形式としてのBMPがGDIで読み込まれると透過部分無視される構造になっているので検証からしてめんどくさい
>>187
それのReadMEに
>・SAIへの転送方式を輝度を透明度ではなく、正確にアルファー情報を送るように変更
って書いてあるし
クリップボードへコピーすると
System.Drawing.Bitmap
Bitmap
のデータタイプしかコピーされてないから別形式の転送方法使っているとしか思えない
SAIは持っていないからこれ以上はわからない

201:デフォルトの名無しさん
16/06/19 17:23:11.30 cEvpvy+s.net
>>192
やはりそうですか・・・
>>194
そんなことするくらいなら大人しく宣言分けます!!

202:デフォルトの名無しさん
16/06/19 17:55:22.99 mhAMecRA.net
>>196
> そんなことするくらいなら大人しく宣言分けます!!
一時的なデバッグなの?
なら例外設定して例外が発生したところで停めればいいと思うが

203:デフォルトの名無しさん
16/06/19 18:46:30.63 PKwMSI+4.net
>>195
ペイントやsaiで絵をコピーした状態の時のクリップボードをC#で再現するのは至難の業って事でいいんでしょうか?
ペイントもsaiも同じWindowsで動くならクリップボードに格納されているデータ型は特定できそうな気もしますが、
それが出来ないのはちょっともどかしいですね。

204:デフォルトの名無しさん
16/06/19 19:04:22.32 tj+CW6H4.net
>>198
>>175のリンク先のように画像フォーマットをPNG形式にした上でMemoryStreamに保存して
そのMemoryStreamの内容を"PNG"(独自形式での指定であってPNG画像を示す物ではない事に注意)としてコピーしたらできる
C#に関係ないけどGIMPで画像をコピーするとクリップボード上には
PNG
DeviceIndependentBitmap
System.Drawing.Bitmap
Bitmap
Format17
の5つのタイプのデータがコピーされている
とりあえず話は>>175のリンク先そのままやってから

205:デフォルトの名無しさん
16/06/19 19:09:52.57 PKwMSI+4.net
>>199
>>175はVB.NETで書かれているので>>172はそれをC#に書き換えたものです。
それをやってsaiにもペイントにも貼り付けできなかったという事です。

206:デフォルトの名無しさん
16/06/19 19:10:14.88 PKwMSI+4.net
すいませんPNGですね。それで試してみます。

207:デフォルトの名無しさん
16/06/19 19:15:54.70 PKwMSI+4.net
>>175をpngで試したところつまり
///////////////////////////////////////////////////////////////
MemoryStream ms = new MemoryStream();
Image image = Image.FromFile(filePath);//PNG形式の画像取得
Dataobject data = new DataObject();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
data.SetData("PNG", true, ms);
Clipboard.SetDataObject(data, true);
///////////////////////////////////////////////////////////////
これだとペイントは「クリップボードにある情報はペイントに挿入できません。」という
エラーは出ないものの、貼り付けしても無反応です。SAIも無反応でした。
後気になったのが
SetDataの第一引数を"PNG"ってしてますが、SaveメソッドのSystem.Drawing.Imaging.ImageFormat.Png
みたいに固有のプロパティではなくstring型で渡せるってのが非常にややこしいですね。
だってDataFormats.Bitmapというのは固有のプロパティだけどDataFormats.Pngは存在しなくてPNGの場合は
"PNG"としなければならないという… メソッドの内部処理みないと"PNG"が書けるなんて思いませんよ…

208:デフォルトの名無しさん
16/06/19 19:17:21.15 tj+CW6H4.net
ああ、ごめん
>ペイントやsaiで絵をコピーした状態の時のクリップボードをC#で再現するのは至難の業
はいw
DeviceIndependentBitmapがどうなっているか見てみないとわからない
あとそれらが内部でコピーしているのとクリップボードに出しているデータは多分別

>>201
"PNG"のオブジェクト受けられるのはGIMPとかPaint ,Netとか多分MS officeもできるけどSAIが対応しているかは知らない
とりあえず透過付き画像をC#でクリップボード介してやり取りするのは>>175のやり方以外は知らない

209:デフォルトの名無しさん
16/06/19 19:18:59.12 tj+CW6H4.net
>>202
SAI_FONとおなじことやりたいのならILSPYでSAI_FONの中身見るしかないな

210:デフォルトの名無しさん
16/06/19 19:34:08.47 QhmIGAOc.net
>>197
今はほぼ全ての関数がtry-catchで括ってあって、
実際に何らかの例外が発生したら変数の値とかわからないと追いかけづらいよね!ということに気がついて
もしかして有料版なら今のままでもなんとかなるのかなと思って聞いてみた次第です。
どこでどんな例外が発生しても良いようにするにはやはり変数をtry-catchの外で宣言するのが一番確実のような気がします。
例外が頻発してくれればデバッグはしやすいですけど、
月に1回しか発生しないような例外だと、この例外が発生したからこれを例外設定して・・・ではちょっと大変。

211:デフォルトの名無しさん
16/06/19 19:36:41.05 PKwMSI+4.net
>>204
少なくともC#で作ったものではないんですかねー分からないですが
だってデータ型って用意されたものしか基本使えないですよね。

212:デフォルトの名無しさん
16/06/19 19:41:00.20 PKwMSI+4.net
DataFormats."PNG"と"PNG"は別物??

213:デフォルトの名無しさん
16/06/19 19:42:36.55 QhmIGAOc.net
ん、最初から全部設定すれば良いだけかな?

214:デフォルトの名無しさん
16/06/19 19:52:39.85 PKwMSI+4.net
image.Save(ms, "PNG");これはダメなのな"PNG"じゃなくて
System.Drawing.Imaging.ImageFormat.Pngって書かないとダメw
ややこしすぎるwww

215:デフォルトの名無しさん
16/06/19 20:20:39.57 tj+CW6H4.net
DeviceIndependentBitmapはBMP画像形式ファイルの14バイト目以降をMemoryStreamに移して
>>175の"PNG"を"DeviceIndependentBitmap"にしてクリップボードにコピーするとできた
透過付き画像はGIMPあたりで作るか自分でBMP形式のバイト配列作るしかないが
>>206
SAI_FONはILSPYで中身全部見れるから
ReadMe.txtにも
>Windows7 Pro + VisualC# 2015 Express + .NET Framework4.51(4.0でビルド)
って書いてあるし

216:デフォルトの名無しさん
16/06/19 20:29:23.36 PKwMSI+4.net
そもそも何でDeviceIndependentBitmapという具体的なデータ型が出てきたのか
分かりませんが試してみます!本当に付き合ってくださって感謝してます!

217:デフォルトの名無しさん
16/06/19 20:35:30.94 N0SKT7vZ.net
>>205
いや別に君がそれでいいと思うなら止めやしないけど
> 月に1回しか発生しないような例外
が発生するまでデバッガで実行させる気?

218:デフォルトの名無しさん
16/06/19 20:38:04.11 6taJ36ar.net
>>212
アタッチ

219:デフォルトの名無しさん
16/06/19 20:49:39.25 N0SKT7vZ.net
>>213
ブレークかけてないのにアタッチしてどうする気?

220:デフォルトの名無しさん
16/06/19 20:49:53.10 PKwMSI+4.net
>>210
DeviceIndependentBitmapに変えました。
でもダメでしたね。
ペイント、SAIともに駄目でした…

///////////////////////////////////////////////////////////////
MemoryStream ms = new MemoryStream();
Image image = Image.FromFile(filePath);//BMP形式の画像取得
Dataobject data = new DataObject();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
data.SetData("DeviceIndependentBitmap", true, ms);
Clipboard.SetDataObject(data, true);
///////////////////////////////////////////////////////////////

221:デフォルトの名無しさん
16/06/19 20:58:05.49 tj+CW6H4.net
>>215
>画像形式としてのBMPがGDIで読み込まれると透過部分無視される構造になっている
これ忘れないように。ペイントは無理
こちらで確認しているのはGIMPと自作ツールだから
SAI_FONはSAIの登録場所確認したり連動させているんだからSAI_FONとSAIのデータのやり取りはクリップボードじゃないはず

222:デフォルトの名無しさん
16/06/19 21:11:37.93 PKwMSI+4.net
>>216
あぁそうか、ちょっと混乱してるので纏めますね
BMPはそもそも透過が無理だ
PNGの場合はアルファチャンネルの情報も送ったらペイントとSAIでは
クリップボードの状態を読み込めない(OFFICEはOK)なんですね…
なのでペイントやSAIでクリップボードから貼り付けるなら
Image型のデータまたはBitmap型のデータをClipboardの引数にしてこの
状態からならどのアプリにも共通なデータ型として変換してくれるから
透明は無視されるけど貼り付けはできるってことですね…
事情が分かっただけでも大収穫です
これはmicrosoftに懇願するしかないですねwアプリ間で透明状態をやり取りするなんて
技術的に簡単なのにAPI使って難しい事しないとできないとか…
そもそもクリップボードなんて滅茶苦茶重要な役割ですよね、デフォルトで1個しか保存できないこと自体おかしい…w
愚痴っちゃってすいません

223:デフォルトの名無しさん
16/06/19 21:17:17.92 PKwMSI+4.net
>SAI_FONはSAIの登録場所確認したり連動させているんだからSAI_FONとSAIのデータのやり取りはクリップボードじゃないはず
あーなるほどそういう事か
ハンドル取得して直接描画させる感じですかね、そうなるとお手上げだw

224:デフォルトの名無しさん
16/06/19 21:28:59.14 aUmeBUXf.net
技術的に簡単と言うならおまえがサクっと実装するだけで終わる話なんだけど。
基本を端折ってどれだけ高度なことをしようとしてるか理解していない。
キミの理解の90%は技術、仕様を誤解したままだ。

225:デフォルトの名無しさん
16/06/19 22:28:58.06 PKwMSI+4.net
難しさがどこらへんにあるか分からない
だって透明情報だってビットマップでこの場所が透明ですよって
そういうのを保存したらいいだけじゃね?とかですね
それをメモリ上に保存することのどこに難しさがあるのか…
こう考えてしまうのは浅はかですか?

226:デフォルトの名無しさん
16/06/19 22:40:32.46 3lPnIi6j.net
interfaceはなんでpublicなの?
internalならもっと使いやすいのに

227:デフォルトの名無しさん
16/06/19 22:53:03.54 XSF8wvd9.net
>>220
難しいって言うか情報が公開されてるかいないかの問題で
情報が公開されてないんだろ?

228:デフォルトの名無しさん
16/06/19 23:09:33.38 pXg+pklT.net
internalを使ったことないんだが、あれメリットあるのか?

229:デフォルトの名無しさん
16/06/19 23:15:36.21 qvkTbkKV.net
>>221
?
internal interface でいいだろ

230:デフォルトの名無しさん
16/06/19 23:18:50.43 PKwMSI+4.net
そのアプリ内では透明度保存できるけど、アプリを超えると透明度保存ができない
そしてその仕組みは公開されていない!!!
これって公開鍵暗号に似てません?www

231:デフォルトの名無しさん
16/06/19 23:25:56.26 aUmeBUXf.net
外に公開するものをinterfaceと言うのだ。

232:210
16/06/19 23:58:28.97 tj+CW6H4.net
>>215は14バイト目以降を移していないし画像ファイルを直接DeviceIndependentBitmapとしてコピーするコード
URLリンク(ideone.com)
ビルドして画像ファイルをドロップするとDeviceIndependentBitmapとしてコピー

233:デフォルトの名無しさん
16/06/20 06:46:58.86 A8kl/PgB.net
> これって公開鍵暗号に似てません?www
似てないし何が面白いのかもさっぱりわからん

234:デフォルトの名無しさん
16/06/20 07:42:42.33 8+wUFNFJ.net
仕組みは公開されてるしな。

235:デフォルトの名無しさん
16/06/20 08:02:12.18 MOJTeKy8.net
>>191
パラメータをログに吐く仕組みを作ればいいよ
ログに吐かれたデータからユニットテストを書いて直して終わり

236:ツールクリエイター ◆RK.FSYZiFD1j
16/06/20 10:38:33.39 VbKImTWd.net
>>227
かなり複雑なコードですね!ちょっと理解するのに時間がかかるので今日の夕方まで待ってください!
わざわざすいません。args[]とかちょっと初めて見ましたww

237:デフォルトの名無しさん
16/06/20 15:51:12.52 Vvo6itZJ.net
まさか一番基本の最初のHello Worldまで端折ってるとは。

238:デフォルトの名無しさん
16/06/20 17:45:16.00 bEvQuIcU.net
int型ってプリミティブ型なのに、toStringメソッドが使えるのは何故ですか?
javaならラップクラスにしないとこんなこと出来ないはず。何故でしょう?

239:デフォルトの名無しさん
16/06/20 17:57:26.35 Vvo6itZJ.net
Boxing and Unboxing
URLリンク(msdn.microsoft.com)

240:デフォルトの名無しさん
16/06/20 18:08:33.52 N0uD9uvA.net
Javaのintはobjectから派生してない。
C#のintはobjectから派生してる。

241:デフォルトの名無しさん
16/06/20 18:08:36.30 tys3WiX6.net
C#が凄いから

242:ツールクリエイター ◆RK.FSYZiFD1j
16/06/20 18:53:32.03 Gi8PdViF.net
>>227
すいません、やはり理解できません。
理解できないところを纏めたので基礎から勉強します。
①ビットマップはx×yの大きさなのに必要な変数が異常に多い
 lenやらlxやらpやcなど、ビット計算されてるcは意味が分からない
②何故(((Image)bm).PixelFormatのようにキャストありと
 bm.PixelFormatなしがあるのか?キャストがいるなら後者もいるんでは?
③かなり根本的な問題ですが、何故一端メモリストリームに格納する必要があるのか?
 メモリストリームをいじらなければデフォルトで設定されるから?
④Byteという変数を使ういみ。int型ではダメなのか?



243:⑤何故IDataObjectインターフェースを使うのか、SetDataで引数3つならDataObjectで作ればいいのでは ⑥try~catch構文を使う理由、これは好みか? などなど疑問が多くて逆に勉強しがいがあると思っています。 かなり時間がかかりますが解読させて下さい。



244:デフォルトの名無しさん
16/06/20 19:31:50.15 ZcaP1ukc.net
URLリンク(www.shuwasystem.co.jp)

csvファイルの扱いを覚えたくて、上のサイトのサンプル(Chapter9)を見ながらやっているのですが、
LoadDataメソッドにある、moneyDataSetのmoneyDataTableに下波線が出ていて使えません。
これはどうすれば解決しますでしょうか?
ちなみにサンプルのデザインにあるmoneyDataSetを別のプロジェクトにコピペできませんでした。
ボタン等はできるのになぜなんでしょうか?
分かる方いましたら、よろしくお願いします。

245:227
16/06/20 19:40:16.67 Fm5evlwS.net
>>237
申し訳ないけどそのコードはビルドして動くけど間違いだらけで中身見るだけ無駄w
特に24ビットカラーか32ビットカラー以外の画像ファイルを使うとクリップボードに壊れたデータが書き込まれてしまう
②⑤⑥ あまり考えずに書いているから深い意味はない。((Image)bm).PixelFormatはbm.PixelFormatで問題ない
④意味がわからない
①BMPフォーマットの知識が必要。cはパディング
③"DeviceIndependentBitmap"はブラウザとか他で作られたものでもデータの形式はSystem.IO.MemoryStream
レスの要点は
・透過付きの画像をクリップボードにBitmapとしてコピーすると色化けするか透過部分が無視される
・C#で"DeviceIndependentBitmap"として透過付きの画像をクリップボードとやりとりできる
・"DeviceIndependentBitmap"はBMPフォーマット形式からBITMAPFILEHEADERの14バイトを外したバイト配列をMemoryStreamに書き込むことで作れる
こっちも初心者だから全部説明できる自信もないし,、ここでやると他の人の邪魔になるので悪いけどここまで

246:デフォルトの名無しさん
16/06/20 19:43:39.26 Vvo6itZJ.net
意地でも基本のC#入門、チュートリアルの類を一切読まずににコードを書く気のゆとり馬鹿は無視したほうがいいだろう。

247:デフォルトの名無しさん
16/06/20 19:54:18.07 Gi8PdViF.net
いやC#の入門書は読まなくていいと思ってます。
だって本屋で索引から調べてもDataObject型とかMemoryStream型とか載ってませんでしたし。
こういうのって応用的な使い方だから書籍見ても無駄なのではないでしょうか。
だからネット中心に調べてますよ。

248:デフォルトの名無しさん
16/06/20 19:54:47.38 2W2DbIcv.net
>>237は教えてよって意味じゃなくて、こういうこと勉強して出直してくるって意味じゃないのか?

249:デフォルトの名無しさん
16/06/20 19:55:51.72 Vvo6itZJ.net
ならいちいち基本的なことを質問するなって話だな。ググレカス。

250:デフォルトの名無しさん
16/06/20 20:00:22.48 Gi8PdViF.net
>>242
そうですね。纏めただけなんで今から勉強します。

251:デフォルトの名無しさん
16/06/20 20:09:13.58 6mpJGPIZ.net
一応でてるけど1000ページ超で翻訳できないっていうオチなんだよね
儲からない以上は出版されない、仮に$50の本が1万円で発売されても酷評されて終わりでしょ

252:デフォルトの名無しさん
16/06/20 20:18:51.12 Vvo6itZJ.net
全部MSのヘルプ、リファレンスに書いてる。そんなものいちいち入門書に載せるな。
入門書とはリファレンスや他人のソースやを読める知識のない ID:Gi8PdViF みたいな馬鹿が読むものだ。
九九や四則演算は覚えなくていいと思ってる。だけど微積分や三角関数で計算したい、
だがどうやってやるのか理解できないみたいなこと言ってる馬鹿に何を説明しても無駄だ。

253:デフォルトの名無しさん
16/06/20 20:21:30.00 p6+rLIxN.net
なんかここの雰囲気がmsdnフォーラムに似てきたな。初心者の質問に対して質問の仕


254:方が悪いと説教するアホがいる。



255:デフォルトの名無しさん
16/06/20 20:25:50.43 Gi8PdViF.net
>>246
とりあずマイクロソフトの関数全部(8割くらいは覚えたい)覚えますわ
話はそこからですよね

256:デフォルトの名無しさん
16/06/20 20:39:38.35 Vvo6itZJ.net
>>247
散々質問しといて自ら基礎や基本は知らなくていいと主張する初心者なんかmsdn forums にいねーよ、馬鹿。
しかも全然反省してない >>248 意地でも基本はやらない気らしい。基本やればおまえの疑問の9割は解決するのに。
>④Byteという変数を使ういみ。int型ではダメなのか?
>いやC#の入門書は読まなくていいと思ってます。
なんやねんこいつ。人を馬鹿にしすぎ。

257:デフォルトの名無しさん
16/06/20 20:41:25.49 E+iwf+wd.net
>>246
MSDNすら読めないアホが多いから載せざるを得ないんだよ

258:デフォルトの名無しさん
16/06/20 21:00:51.63 Gi8PdViF.net
>>249
基本文法(デリゲート、ラムダ式、ジェネリクス)も習得してますよ
ただMemoryStreamとIDataObjectは本には基本レベルでも載ってないから
難しい事するなら入門書はいらないかなって思いますね

259:デフォルトの名無しさん
16/06/20 21:04:42.36 Gi8PdViF.net
Byteはちょっと機械語扱う勝手なイメージがあってどきっとするんですよね
恐らく色の値が0~255の間にあるからByteがちょうどいいと思うんですけど
まぁでも基本的な事も抜けてるかもしれないので立ち返ってみますね

260:デフォルトの名無しさん
16/06/20 21:17:21.45 11bdSKsx.net
次から反応した奴は連座死刑で

261:デフォルトの名無しさん
16/06/20 21:23:16.50 E+iwf+wd.net
こいつ前にウイルスがどうとか言っていた奴と同一人物だな
書き方にすごい特徴があるわ

262:デフォルトの名無しさん
16/06/20 21:43:43.61 pA2Q9oXS.net
よく気づいたな
ネタばらしするチャンスを失ったわ

263:デフォルトの名無しさん
16/06/20 22:13:07.10 QoirQNz1.net
俺、ゲーム会社だったからこういうの一応知ってるけど
普通のビジネスアプリから入った人ってこんなもんじゃないだろか?

264:デフォルトの名無しさん
16/06/20 22:14:02.44 Gi8PdViF.net
すいませんしばらくROMします

265:デフォルトの名無しさん
16/06/20 22:24:35.45 H2dF+tHH.net
流石に叩きすぎ
まとめた事をこれから調べるって言ってるんだからそっとしといてやれ

266:デフォルトの名無しさん
16/06/20 22:26:38.59 pnnOeouN.net
>>238
プロジェクトそのままでは普通にビルドできたけど?
何か手元でソース書いたなら、内容書かないと誰も分からないよ……

267:デフォルトの名無しさん
16/06/20 22:34:52.47 JgRZho5M.net
あと100年くらい書き込まないで欲しいね

268:デフォルトの名無しさん
16/06/20 22:42:50.34 lc7px967.net
>>227
> Bitmap bm = null; bm = new Bitmap(args[0]);
冒頭のこれ見た時点で読む気失せた。

269:デフォルトの名無しさん
16/06/21 00:31:14.23 JzFNeNRQ.net
>>259
レスありがとうございます。
情報不足ですみません。ソース元のソースをそのままビルドをするとこちらも問題なくビルドできます。
ですが、私がやりたいのは、ソース元のソースを見ながら自分で打って覚えようと思ってるんです。
csvファイルの扱いを覚えたいので、まずはLoadDataメソッドのコピーをしてます。
LoadDataメソッドの部分をそのままコピーしても、moneyDataSetがまだ存在してないからmoneyDataSetの下に赤波線がでます。
なのでデザインのツールボックスにあるDataSetをフォームにD&Dして、データセットの追加ダイアルログを出します。
すると、型指定されたデータセットのラジオボタンにチェックが入ってますが、どれを指定すればいいのかわからないので、型指定のないデータセットのラジオボタンを選択してOKを押して作成しました。
次に、デザインの下に出てきたDataSet1のnameプロパティをmoneyDataSetに変更しました。
すると今度は、moneyDataTableの下に赤波線がでるのです。
デザインのツールボックスにDataTableはないっぽいですし、どこで作成されてるのかもわかりません。
moneyDataTableはどのように作成すればよろし�


270:「のでしょうか?



271:デフォルトの名無しさん
16/06/21 00:37:02.77 JzFNeNRQ.net
連投すみません。
ポインタをmoneyDataTableに合わせると、'データセットに''moneyDataTable'の定義が含まれておらず、型'DataSet'の最初の引数を受け付ける拡張メソッド'moneyDataTable'が見つかりませんでした。
usingディレクティブまたはアセンブリ参照が不足してないことを確認してくさい。
と出てます。

272:デフォルトの名無しさん
16/06/21 01:08:10.98 Wg4KewHH.net
nameプロパティをmoneyDataSetプロパティに変更したら怒られるに決まってんじゃん

273:デフォルトの名無しさん
16/06/21 01:54:10.88 jaDP2etu.net
クッソ素人な質問で恐縮なんですが
クラスとかの概念で訳分かってなくて困ってます
まず、こんなコードを書きました。
URLリンク(www.dotup.org)
個人的なイメージとしては、Mainで作ったインスタンスのパラメータ(と言うんでしょうか)を
ボタンを押した時に、label1に表示するという事をしたいんですが
この方法じゃダメみたいです。
button_Clickのメソッド内でインスタンスを作成した場合は、表示されましたが
それでいくと、ボタンが押されるまではインスタンスは作成されないので
インスタンスのパラメータの処理(Lifeの数値を増やしたり減らしたり)ができなくなってしまい、それも困ります。
どうにか、button_Clickのメソッド内でインスタンスを作成せず
他所で作ったインスタンスのパラメータを参照する方法はないでしょうか?
そして、おそらく、そもそもの考え方が間違っているのでしょうが、どう間違っているかピンときてないので
そこもご指摘頂けたらと思います。
よろしくお願いします。

274:デフォルトの名無しさん
16/06/21 02:08:14.62 ZKHuWScf.net
Mob a;
をMain()の一つ外に出すとbutton_Click()内からでもアクセス可能になる。
つまりForm1クラスのメンバとして宣言する。

275:265
16/06/21 02:34:48.04 jaDP2etu.net
>>266
参照できました、ありがとうございます。
Mob a;だけを出すという発想はありませんでした。
ただ、自分のコードの作りがまずいのかデバッグの際に起動はするのですが
ボタンをクリックした際に、nullreferenceexceptionというエラーでデバッグが途中停止するようです。
以下コード
URLリンク(www.dotup.org)
恐らくMainでインスタンスのパラメータを設定しているが、それを読み込めてない(あるいはスキップしている)のかなぁと思います。
よって各パラメータ(LifeやMana)の変数が空っぽで、表示する対象の数値が存在していないのではと思います。
個人的には、Main関数からスタートするというイメージがあるので、Main関数でパラメータを設定していれば
問題ないだろうという認識でしたが・・・
何でも聞きすぎという事であれば、ここからは自分で右往左往しながら調べます。
解決策を教えて頂けるなら、教えて頂けたら幸いです。

276:デフォルトの名無しさん
16/06/21 02:43:56.88 xCYAjjER.net
>>262
元のプログラムでmoneyDataTableを定義している場所は確認した?
moneyDataSet.moneyDataTableってなってるんだから、moneyDataSetの中に定義されていると推測して、中身を見てみるものだけど。

277:デフォルトの名無しさん
16/06/21 02:46:11.56 ZKHuWScf.net
その情報だけじゃ分からないけど、Form1のデザイン画面でlabel1削除したんじゃないの?

278:デフォルトの名無しさん
16/06/21 02:47:24.48 Zl3pehZF.net
>>267
Program.Mainが実行されるのはプログラムエントリーポイントに指定されてるからです
インスタンスメソッドが勝手に実行されたりはしません、クラス名と同じコンストラクタ以外は。
Form1作成時に一緒に初期化するならInitializeComponent()の下に初期化コードを書いてください

279:デフォルトの名無しさん
16/06/21 02:52:38.78 YUluzfAb.net
この人もまずは入門書を1冊買って基本的なことを一通り勉強した方が良いな。
ある程度プログラミングの基礎ができてしまえば、後はネットで調べるだけで行けるけど。

280:デフォルトの名無しさん
16/06/21 02:52:45.60 xCYAjjER.net
>>267
自分で勝手に書いたMainメソッドは呼ばれない。試しにソリューション全体をMainで検索してみると良い。
概念として、スコープ、フィールド、コンストラクタは調べたほうが良いかも。

281:265
16/06/21 02:58:51.90 jaDP2etu.net
>>269
かいつまんだ情報だけになってしまい、すいませんでした
確認したところ、label1は残っていました。
>>270
InitializeComponent()の下に、続けてコードを書き直したところ
問題なく動作しました。ありがとうございます。
初期化という概念が頭にありませんでした。
ここしばらく悩んでいた問題が、この1時間程度で解決してしまいました。
素人の疑問に付き合っていただき、ありがとうございました。
また問題に直面した時は、質問させていただきます。

282:デフォルトの名無しさん
16/06/21 03:05:10.20 jaDP2etu.net
>>271
一応、中古本の入門書みたいなものはあるのですが
読み込みが足りないのかもしれないですね。
もっと精進します。
>>272
勝手に書いてもMainにはなってくれないのですね、目から鱗です。
個人的にも、宣言したものがどれだけの範囲で有効なのかというのは
分からなくなる事が多々あるので、その辺りももっと詰めていきたいと思います。

283:デフォルトの名無しさん
16/06/21 06:01:01.94 7fe7KsGw.net
apiの使い方おしえてください!

284:デフォルトの名無しさん
16/06/21 08:08:39.44 BhZOHC/V.net
>>275
MSDNのリファレンスを読みましょう、それで理解できないなら基礎が足りないのでC#の絵本でも読みましょう
冗談でも煽りでもなく概念を理解してないと説明されても理解できないが、概念が理解できれば自分で調べられるようになるから

285:デフォルトの名無しさん
16/06/21 13:20:10.32 UBpOFjOi.net
>>274
頑張って!
ちなみに、Form1の文字を右クリック→「全ての参照」で、検索結果に
new Form1();
って書いてある所が見つかるので、余裕あれば見ておくと良いよ。
ホンモノのMainメソッドが見つかるはず。

286:デフォルトの名無しさん
16/06/21 14:57:29.01 ajISqQAb.net
>>268
ソース元のmoneyDataTableを定義へ移動で確認しました。
コピー先のmoneyDataTableも定義へ移動で確認したところカレットの下のシンボルに移動できませんと出ました。
moneyDataTableの定義をしたら正常に動作しました。
ありがとうございました。

287:デフォルトの名無しさん
16/06/21 17:28:20.48 Hp77vt6e.net
プログラミングのセンス以前に、学習するセンスがない人はどうしようもないなと思います
大卒なら自分なりに効率の良い学習法を身に着けているだろうし
彼らはろくに勉強せずに教科書持ち込みありのテストをやっているようなものでしょ
質問する段階にも至っていない
本当にRPG作りたいという熱意があるなら、横着せずに基本から学習しよう
一ヶ月それをやるだけであの程度の問題は自己解決できると思うんだが

288:デフォルトの名無しさん
16/06/21 17:39:38.24 EqOHnf9v.net
おじんの説教は長いなあ
すでに人生どん詰まりのくせに偉そうに

289:デフォルトの名無しさん
16/06/21 17:45:07.86 ZKHuWScf.net
使ってもいない1000兆の借金背負わせられる若者のほうがどん詰まりの地獄だせ。

290:デフォルトの名無しさん
16/06/21 17:46:28.73 3LWA1drL.net
説教の有り難みも知らんクソガキの分際で喋る資格があるとでも?

291:デフォルトの名無しさん
16/06/21 18:17:47.88 ZdJTYGNP.net
ここ説教スレじゃなくて質問スレなんで
>なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
基本基本さんはお引き取りください

292:デフォルトの名無しさん
16/06/21 18:42:46.09 ZKHuWScf.net
こういう自分は質問に答えないくせに、質問に答えてる人を馬鹿にしてる奴がいると質問に答える気もなくなるな。

293:デフォルトの名無しさん
16/06/21 19:04:36.21 07QtPuqD.net
煽るつもりはないけど、
プログラミングの基礎や概念なんて知らなくても、
やりたいことがあるなら、Tiosや逆引きの組み合わせで、実践して学習していくというのも
一つだと思うけどね。
簡単なのから作って拡張して動かない!なんで?の繰り返し。
理論や概念なんてそのあとから「ああ、なるほど!」って感じ。
そういう実践的な興味そそられる入門書って少ないよね。
MSNのヘルプなんてくそくらえだ。
おれはそうやって覚えた。だから人には教えられんwww

294:デフォルトの名無しさん
16/06/21 19:05:46.79 rJ2mr4JY.net
逆引きってどういう事出来るん?
Googleとどっちが強い?

295:デフォルトの名無しさん
16/06/21 19:12:57.67 ZdJTYGNP.net
>>286
やりたいことをそのままC#を頭につけてGoogleで検索
だいたいMSDNかdobon.netかwww.atmarkit.co.jp/fdotnetの解説しているところがヒットするんでそこで完了

296:デフォルトの名無しさん
16/06/21 19:14:00.13 rJ2mr4JY.net
>>287
何だそれだけか
いつもしている
それにしても本当Googleって便利だよね

297:デフォルトの名無しさん
16/06/21 19:15:45.05 rJ2mr4JY.net
Googleが「こういうサイトの作りしないと検索ランク下げるぞ」って言うだけで」皆従うからGoogleの影響凄いよね
ネット世界の独裁企業

298:デフォルトの名無しさん
16/06/21 20:04:34.81 T1EfEWLO.net
金がない奴は金玉がないのと同じなんで

299:276
16/06/21 21:04:57.80 VoVagir1.net
>>285
まあそりゃまともな奴なら大概そうなんだけどねw
質問としてただ一言apiの使い方教えろって言われたらMSDNのリファレンス読めとしか言えないじゃん
正直全てのapiを完璧に把握する必要なんかないし目的もなしにリファレンス読むとかバカだと思うけどさ
で、そんな質問するような奴だとリファレンス読んでもわからんだろうからとりあえず絵本を勧めた
このスレにもいるがメンバ変数とローカル変数の区別もつかないような奴相手にするならC#の絵本便利だぜ?
実際これ渡してやっと話が通じるようになった奴が身の回りに数人いる
煽りでもなんでもなく相手に合わせた適切な回答だと思うんだがなぁ

300:デフォルトの名無しさん
16/06/21 21:54:42.12 zIX/kRUJ.net
MSDNは古い情報がそのまま残っているから困る
非同期のTCP鯖作ってみてとお願いしたら、BeginSendとかIAsyncResult散りばめたソース見る羽目になったし

301:デフォルトの名無しさん
16/06/21 21:58:01.85 +VWj08qc.net
古い情報()消されたら困るわw

302:デフォルトの名無しさん
16/06/21 23:10:42.42 RSl40YFr.net
Win32の関数調べたいのにWinRTのページばっかり引っかかるとか。あれも困るな。

303:デフォルトの名無しさん
16/06/21 23:46:48.22 C9ImfoFB.net
WinRT(UWP)は.NETのサブセット入ってるのはまだしも同じ名前のclassが別の名前空間にあって
プロジェクションじゃなく完全に別実装でしかも両方呼び出せたりするのがもう最悪

304:デフォルトの名無しさん
16/06/21 23:47:13.97 wL1ucv26.net
クラス全部参考書にしたら売れまくる

305:デフォルトの名無しさん
16/06/22 00:07:53.99 syuEjQtb.net
名前がかぶっても大丈夫なようにするのが名前空間だしまぁ。

306:デフォルトの名無しさん
16/06/22 01:24:29.64 0EPrpfvP.net
ウェブブラウザコントロールで
要素に対してオンマウス(マウスカーソルが重なった)イベントを発生させるにはどうしたらいいですか?
InvokeMember()やRaiseEvent()で出来ますか?

307:デフォルトの名無しさん
16/06/22 09:40:36.11 UbiDjdVD.net
>>287
stackoverflowぐらいしかヒットしない俺って・・・

308:デフォルトの名無しさん
16/06/22 09:43:04.81 UbiDjdVD.net
>>291
apiで見るのはpinvoke.netじゃね?
仕組みを理解する場所じゃないけどさ

309:デフォルトの名無しさん
16/06/22 09:46:24.90 k9IMrvhM.net
>>300
正しいシグネチャ調べるにはMSDNを読む
マーシャリングはシグネチャから考えればわかるから調べる必要がない

310:デフォルトの名無しさん
16/06/22 21:47:20.68 bu1ZZB5x.net
愚痴っていいですか?
asって女が考えたような仕様じゃね?
無くてもいいしキャストできないならNULLとかそんなの自作でできるレベル
evalみたいなまじで役に立つ関数のほうが重要じゃね?

311:デフォルトの名無しさん
16/06/22 21:59:41.90 syuEjQtb.net
駄目

312:デフォルトの名無しさん
16/06/22 22:04:43.78 qQlKK5Iv.net
>>302
isとキャストで代替できるってことならこの記事の下の方に書いてある通り二重に型チェックして無駄だから
それにevalがどんな時にまじで役に立つん?
URLリンク(www.atmarkit.co.jp)

313:デフォルトの名無しさん
16/06/22 23:41:31.55 IY0n16Gr.net
あたまトロットロのスクリプターは自分のコードでも爆発させてて、どうぞ

314:デフォルトの名無しさん
16/06/22 23:51:35.80 aSQEHncx.net
>>304
asよりキャストの方が速いと思い込んでたけどasの方が速いんだな

315:デフォルトの名無しさん
16/06/23 01:54:27.78 5dkCDyX1.net
タブコントロールにページ1とページ2が合った場合
ページ2がセレクトされた状態で、
プログラムであるコントロールにフォーカスを当てるとき、
それがページ1の中に置かれた物ならタブコントロールもページ1がセレクトされる
っていうのがやりたいんだけど何か簡単な方法ある?
今のやり方だとわざわざフォーカスを当てるコントロールのparentを
探っていってるんだけど

316:デフォルトの名無しさん
16/06/23 05:22:58.06 1zzJmV4r.net
そういう発想自体が間違っていると思うが
言われたとおりにやるとするなら
すべてのコントロールのフォーカスイベントにタブページを選択するコード書く

317:デフォルトの名無しさん
16/06/23 09:00:51.94 9ARC/f7H.net
e.Graphics.DrawCurveで描く曲線の座標を取得する方法はありますか?
例えばSmoothingMode.AntiAlias;の設定だと数個の点を描いても、
滑らかな曲線になりますが、
その座標を知る方法があれば教えて下さい。

318:デフォルトの名無しさん
16/06/23 09:24:47.53 HQOa5/1g.net
真っ白いカンバスに白以外のペンで描画して色がついたピクセルを探す
スプライン補完までは計算すりゃ分かりそうだけど
MSがどういうアンチエイリアスアルゴリズム使ってるか知らないから
アンチエイリアス後の座標は計算じゃ出せない気がする

319:デフォルトの名無しさん
16/06/23 09:25:00.07 sKT7oDMd.net
完全に同じかどうかは知らんが
GraphicsPathでAddCurveしてFlattenした後PathPoints

320:デフォルトの名無しさん
16/06/23 09:38:59.61 fzHQE9r8.net
判定だけなら、IsOutlineVisible

321:デフォルトの名無しさん
16/06/23 10:49:09.04 9ARC/f7H.net
>>311
サンキュウ
上手く行ったよ!
君、優秀だな。

322:デフォルトの名無しさん
16/06/23 10:56:04.59 n3yMOqsI.net
ImageクラスとBitmapクラスってお互いに継承関係がないのに
Image image=new Bitmap(url);
Bitmap bmp=new Image(url);
って書けるのは何故ですか?

323:デフォルトの名無しさん
16/06/23 11:07:57.17 1rhmo8jO.net
>>314
暗黙の型変換演算子が定義されてるから
URLリンク(msdn.microsoft.com)

324:デフォルトの名無しさん
16/06/23 11:11:58.34 n3yMOqsI.net
型変換ではなくないですか?だって上記の場合、imageはBitmap型なわけで

325:デフォルトの名無しさん
16/06/23 11:31:48.77 qgsw0j/k.net
>>314
public sealed class Bitmap : Image

326:デフォルトの名無しさん
16/06/23 11:55:29.63 sKT7oDMd.net
> Bitmap bmp=new Image(url);
こっちについてはそもそもImageはabstractだからnewできずコンパイルエラーになる
なんか他と勘違いしてる可能性がある

327:デフォルトの名無しさん
16/06/23 12:00:51.43 3TdrWIE2.net
>>314
本当に System.Drawing.Image ?

328:デフォルトの名無しさん
16/06/23 18:54:58.82 n3yMOqsI.net
>>318
いえメソッドが抽象ではなくて実体ですが…
URLリンク(msdn.microsoft.com)(v=vs.110).aspx

329:デフォルトの名無しさん
16/06/23 19:21:19.27 lgpfUPdU.net
ちょっと何言ってるか分からないですね

330:デフォルトの名無しさん
16/06/23 19:31:36.02 S6FEFk7W.net
>>320
>>317
で答が書いてあるのに何で続けんの
URLリンク(msdn.microsoft.com)
公式にもそうなっているし、そもそも
× ImageクラスとBitmapクラスってお互いに継承関係がないのに
○ BitmapクラスはImageクラスを継承している
Bitmap bmp=new Image(url);
これできないんだけど

331:デフォルトの名無しさん
16/06/23 19:41:59.16 3TdrWIE2.net
>>320
クラスの説明見てみ?

332:デフォルトの名無しさん
16/06/23 20:11:51.65 n3yMOqsI.net
>>323
抽象クラスなのに実装したメソッドを持つ事ができる
JAVAとは規則が違うのか、ようやく理解しました。ありがとうございました。

333:デフォルトの名無しさん
16/06/23 20:23:12.11 fzHQE9r8.net
>>324
Javaの抽象クラスも、実装済みメソッド持てるでしょ?
あと、始めの質問は何を間違えて書いたの? 気になる。

334:デフォルトの名無しさん
16/06/23 20:27:14.04 XSMUtKrJ.net
質問の意図からどう納得したかまでまるで意味不明な件でした。

335:デフォルトの名無しさん
16/06/23 21:01:10.31 bf4RaDco.net
bitmap継承して誰かが独自のimageクラスを作ったのでは?

336:デフォルトの名無しさん
16/06/23 22:56:08.43 QqJGxaQI.net
自分専用のアンテナサイト的なものを作りたいんですが
同じPC内でアクセスしたいんですがどういう知識が必要ですか?
webブラウザから127.0.0.1:portでアクセスしたいんです
webブラウザ(WaterFox)→C#アプリ→RSS配信サイトなど

337:デフォルトの名無しさん
16/06/23 22:59:40.19 6YS/VShK.net
ASP.NET MVCで普通にWebサイト作るだけ
どのチュートリアルでも最初はlocalhostで動かすようになってるだろ

338:デフォルトの名無しさん
16/06/23 23:56:13.09 5vBk2+Vl.net
VS2015で
UWPアプリを作りたいんだけど、
画面の使い方を含めたいい本はないかね?
Delphi以来だけど、プログラム作りたい

339:デフォルトの名無しさん
16/06/24 00:08:50.14 J2bYmM04.net
>>330
UWP絡みは適当なWebサイト見たほうが早いと思う

340:デフォルトの名無しさん
16/06/24 07:33:30.24 9OeVC8+N.net
MSつながらないんだが…

341:デフォルトの名無しさん
16/06/24 07:58:15.19 6jwsLRlP.net
UWPはストアにいくらでも資料とサンプルがある
UXデザインガイドラインを熟読すべし

342:デフォルトの名無しさん
16/06/24 08:38:40.97 9OeVC8+N.net
MSサイトつながりました。文法でわからないことですが
URLリンク(msdn.microsoft.com)(v=vs.110).aspx
formatはType formatと書かれているのでTypeクラスのオブジェクトまたは子クラスのオブジェクトである必要があるということがまず一点
またformatはクラスオブジェクトでないといけないからフィールドやメソッドではダメということが二点
それなのに何故formatにDataFormatsのフィールドの代入が可能なんでしょうか?
一点目については調べたら子クラスかもしれませんが、二点目が決定的だと思います。どうなってるんでしょうか?

343:デフォルトの名無しさん
16/06/24 08:41:35.40 UubPjCQV.net
GetDataはオーバーロードでいろいろな引数を受け取れるようになってる
URLリンク(msdn.microsoft.com)(v=vs.110).aspx

344:デフォルトの名無しさん
16/06/24 08:43:35.78 UubPjCQV.net
あと
> formatはクラスオブジェクトでないといけないからフィールドやメソッドではダメ
class Obj {
public Type ThisType = typeof(Obj);
}
ThisTypeはフィールドだけどType型のオブジェクトだよ?

345:デフォルトの名無しさん
16/06/24 08:46:13.93 9OeVC8+N.net
確かにオーバーロードから3つのGetDataの解釈がありますが、以下2つについては
GetData(String)
GetData(String, Boolean)
そもそも文字列が引数なのでGetData(Dataformats.Text)みたいな形にできる3番目のGetData(Type)の事を言ってます。

346:デフォルトの名無しさん
16/06/24 09:13:04.54 9OeVC8+N.net
>>336
そうですね、フィールドかオブジェクトかは見方次第ですね。
Type formatの場合、型が重要でTypeクラスはどんなオブジェクトとも互換性があるという事なんでしょうか?

347:デフォルトの名無しさん
16/06/24 09:18:19.68 UubPjCQV.net
DataFormats.Textが返すオブジェクトは実はString型なんだ
URLリンク(msdn.microsoft.com)

348:デフォルトの名無しさん
16/06/24 09:21:48.21 oxHgXhyR.net
>>337
まず、何を勘違いしてるか知らんがDataFormats.Text は文字列だぞ?
変換可能かどうかはIDataObjectの実装次第で特定の引数で変換可能かどうかはIDataObject.GetDataPresentメソッドで確認できる

349:デフォルトの名無しさん
16/06/24 09:23:20.46 oxHgXhyR.net
お?語順入れ替えた時に2回貼り付けたようだすまん

350:デフォルトの名無しさん
16/06/24 09:28:15.50 9OeVC8+N.net
>>340
DataFormats.Textが文字列???
いやDataFormats.Textはstring型ではないのでは?
文字列なら"DataFormats.Text"としなければいけないし

351:デフォルトの名無しさん
16/06/24 09:30:05.37 jBNhJYRc.net
おまえもうどっかいってくれ

352:デフォルトの名無しさん
16/06/24 09:31:01.06 9pi8BURR.net
>>342
落ち着いてこれ読んで
URLリンク(msdn.microsoft.com)(v=vs.110).aspx

353:デフォルトの名無しさん
16/06/24 09:32:43.02 9OeVC8+N.net
あそっか
string s;
sも
"abc"も文字列か
勘違いしてたかな

354:デフォルトの名無しさん
16/06/24 09:39:07.10 9OeVC8+N.net
ArrayList()もLINQの一種ですか?動的にアクセスもできるって聞くし
そうなのかなって思って

355:デフォルトの名無しさん
16/06/24 09:39:29.87 9OeVC8+N.net
話が急に変わってすいません

356:デフォルトの名無しさん
16/06/24 09:42:54.86 9pi8BURR.net
>>346
単語の捉え方が変だね。
LINQ系のメソッドは特定のinterfaceを備えていれば使える。

357:デフォルトの名無しさん
16/06/24 09:46:22.83 9OeVC8+N.net
>>348
ちょっと分からないこと聞いていいですか?
LINQのArrayListで要素を追加しますよね。
ArrayList list = new ArrayList();
list.Add(123);
list.Add("mojiretsu");
list.Add("mojiretsu");
foreach(string s in list)
{
count++;
}
ランタイムエラーがでます。何故でしょうか?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch