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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2016/07/10(日) 00:34:49.34 ID:2YnnBC7F.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part121
echo.2ch.net/test/read.cgi/tech/1465958068/

■関連スレ
C#, C♯, C#相談室 Part91
echo.2ch.net/test/read.cgi/tech/1467142749/

■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/

172 名前:デフォルトの名無しさん mailto:sage [2016/07/12(火) 23:04:40.47 ID:T0pMNZs/.net]
「で」、が抜けた。

173 名前:デフォルトの名無しさん mailto:sage [2016/07/12(火) 23:17:03.31 ID:Orm7AbM7.net]
ある程度人に聞いてもいいからいっぱい書いてみるのが勉強の第一歩でしょ
目標があるとやる気が出るのでなお良し

人格批判されるほど変な質問ではないぞ

174 名前:デフォルトの名無しさん mailto:sage [2016/07/12(火) 23:58:32.64 ID:W/73ZI7N.net]
>>168
スタンドアロンならElectronでいいんじゃね
HTMLで作れてC#バインドもある
C#に拘らないならChromeAppsでもいいかもね
JSだけで完結するものならS3に放り込んで簡単激安Webページなんてのもアリだな
時代は変わってるんだよ

175 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 00:11:53.88 ID:fnCIj9vO.net]
>>171
新しい技術は次々出てくるけど、それが主流になって定着するかはまた別の話。
html5でスタンドアロンアプリって、言うほど流行ってるのかね。

176 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 00:13:49.69 ID:fnCIj9vO.net]
なんかさ、これからは(デスクトップも含めて)JAVAの時代だって一部が騒いでたのを連想するんだけど。

177 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 00:17:02.67 ID:IHteYO+A.net]
>>172
それ以前にスタンドアロンアプリなんか今時ほとんどないだろ
お前のスマホに入ってるアプリでインターネットに繋がってないのいくつあるよ

178 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 00:25:59.89 ID:fnCIj9vO.net]
なんでスマホ限定なんですかね。
PCだったらまだまだ普通にあるし、スマホアプリだってサーバーでデータ処理するものばかりでもないし。

179 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 00:31:37.12 ID:qVRPguav.net]
まあ全部Webになるかはともかく、今時パブリッククラウドでさくっとWebAPI作るくらいは常識的なスキルだよ
Webから頑なに目を背け続けるその姿、お前らがさんざん馬鹿にしてきたVBerとそっくりだぞ

180 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 00:39:43.16 ID:edEqJ9mx.net]
>>163
ref不要
ref付けたら違う意味合いのメソッドと勘違いされる。



181 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 00:59:46.86 ID:fnCIj9vO.net]
>>176
WebAPIを否定する気は全くないぞ。適材適所で使い分ければ良いだけだし。
最近WinFormsやWPFの話してるところに割り込んできて、やたらhtml5を推すのが目に付くけど、それはなんか違うだろと気になった。

182 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 04:15:13.70 ID:/2qS0ZjT.net]
とあるインスタンスを生成したとき、
そのインスタンスがどれくらいヒープを使用しているかって
VisualStudioの機能で調べられますか?

それとdebugビルドとreleaseビルドでヒープの使用量って
変わったりするでしょうか?

183 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 06:58:35.49 ID:qVRPguav.net]
>>178
それはわかるけど少なくともLinux(やMac)でGUI作るには何使えばいいかについては
HTML使えというのが現在主流なのは確か

>>179
CLR Profiler使うかC++&COMでCLRのホスティングAPIを叩く
デバッグ情報や最適化の有無で多少は変わるだろうけど具体的な割合は知らない

184 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 07:15:22.87 ID:aGdg9NG5.net]
mono+c#+GTKでLinuxでc#で開発できるらしい
って2008年の誰かのブログ見つけた

185 名前:デフォルトの名無しさん [2016/07/13(水) 07:33:16.95 ID:fokSqdi7.net]
人と違うことをしようとすると情報が少なくてえらい目に遭うというのがこの世界
えらい目に合いたいならやれば

186 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 08:04:58.03 ID:qVRPguav.net]
あとはその苦労にどれだけの価値があるかだよね
えらい目を乗り越えてWinFormsと同等のものを作れたとして、
それは誰かにとって価値のあることか? その経験は自分にとって以後どれだけの価値があるか?
もちろん必要な苦労もあるが、世にある道具を全部マスターするなんて不可能なんだから、そこはよく考えたほうがいい

187 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 08:19:26.45 ID:fYj98uB+.net]
>>183
その点、HTMLは応用の幅が広いから、覚えといて損することはないね

188 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 09:00:37.17 ID:hX7/yWDM.net]
WindowsFormsの資産があるならOS依存の部分だけ手直しすれば大部分はそのまま使える

189 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 09:10:28.95 ID:ZdYcti+1.net]
>>181
古すぎてゴミ というかハッキリ言って有害な情報だな

190 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 09:19:53.80 ID:z9v+S5Ib.net]
>>177
ありがとうございます



191 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 09:23:30.68 ID:qVRPguav.net]
>>185
ビジネスロジック内でTextBoxを持ち回ってるゴミみたいなアプリはよくある

192 名前:デフォルトの名無しさん [2016/07/13(水) 09:36:10.21 ID:fokSqdi7.net]
既存の資産の活用って聞いて嫌な想像しかできないのはなんでやろwww
営業がよく言ってるからかなwww

…ふう

193 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 09:46:30.33 ID:edEqJ9mx.net]
丁寧に作り込んでるシステムでも、どのくらい使い回せることやら。
ましてや、一回限りで構築されたシステムのコードは使い回したく無いなぁ。

194 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 11:26:24.63 ID:s9xlcL0i.net]
>>179
https://msdn.microsoft.com/en-us/library/mt125494.aspx

今はこういうの標準搭載されてるから手軽でええな、Expressは知らんけど

195 名前:デフォルトの名無しさん [2016/07/13(水) 13:27:46.64 ID:twk9LIr7.net]
● 起業したいプログラマへ1000万円まで投資します ●

アイディアと情熱のある方のみ、お願いします。
good-hill.xsrv.jp/?id=223121

『 グッドエンジェル 』
投資家と起業家のマッチングサービス(投資家数1300人以上)
有名投資家からベンチャーキャピタルまで登録されています。

196 名前:デフォルトの名無しさん [2016/07/13(水) 14:42:56.43 ID:eFGOXP2l.net]
c#ってサーバーサイド組めます?

197 名前:デフォルトの名無しさん [2016/07/13(水) 14:45:20.99 ID:wpl+I1hA.net]
>>193
なぜできないと思うのかがわからない。

198 名前:デフォルトの名無しさん [2016/07/13(水) 15:44:28.49 ID:eFGOXP2l.net]
サーバーサイドjavaみたいな参考書は見ますが、c#の場合みたことありません。

199 名前:デフォルトの名無しさん [2016/07/13(水) 16:14:57.13 ID:fokSqdi7.net]
ふーん

200 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 16:23:27.92 ID:ZdYcti+1.net]
サーバーOSとかDBとかお高くなって
一般書籍で売るのに適してないから



201 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 18:01:23.42 ID:WXuoGgKx.net]
サーバーサイドPHPとか、サーバーサイドRubyとかも見かけないよね...ナンデダロ(゚Д゚)

202 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 18:14:18.71 ID:TJ2/Br8d.net]
>>198
Rubyのことはよく知らないけど、PHP はそもそもサーバーサイドでしょw

203 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 19:22:16.65 ID:x+1qU7IL.net]
パソコン質問スレがもう数年前から機能してないんだが
そこ荒らしたのってここにいる冷やかし野郎の仕業かな?

204 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 22:00:51.56 ID:mEIzqE4f.net]
>>200
どのスレだよ?
何年も荒らす暇なやつがいるのか?

205 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 22:06:24.46 ID:x+1qU7IL.net]
ID:dhHtPSnnみたいな奴さ3年以上前からずっといるでしょ

206 名前:デフォルトの名無しさん mailto:sage [2016/07/13(水) 22:37:24.87 ID:cbsCrAwe.net]
HttpResponseのCharSetとContentEncodingって何が違うのさ

207 名前:デフォルトの名無しさん [2016/07/13(水) 22:42:56.54 ID:fokSqdi7.net]
x-www-form-urlencodedとか

208 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 08:36:53.70 ID:O4kCGTN9.net]
麺類とラーメン、何が違うの?と言うくらいは違う

209 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 15:00:47.97 ID:jGbb5e0K.net]
>>140
型System.EventHandlerをSystem.Windows.Forms.DataGridViewCellEventHandlerに暗黙的に変換できません
と出てしまいます


public partial class Form1 :Form
{
public Form1()
{
InitializeComponent();

dgv.CellValueChanged += new EventHandler(dgv_CellValueChanged);
}


private void dgv_CellValueChanged(object sender, EventArgs e)
{

}
}

210 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 15:28:47.92 ID:gwcTnbzH.net]
EventHandler じゃなく DataGridViewCellEventHandler を new しないといけない
(…と、メッセージが言っている)

…なので、イベントハンドラにするメソッド自体
private void dgv_CellValueChanged(object sender, EventArgs e)

private void dgv_CellValueChanged(object sender, DataGridViewCellEventArgs e)

でないといけない
(もとのレスに即して言うと、そもそも DataGridViewCellEventArgs じゃないと ColumnIndex プロパティはない)



211 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 16:47:33.44 ID:jGbb5e0K.net]
なるほど
private void dgv_CellValueChanged(object sender, EventArgs e)のほうは通ってたので問題ないと思ってました


>引数で渡される e の ColumnIndex プロパティで変更された列番号を取得 その列が「Column1」の列番号と一致してたら、合計値計算のメソッド実行

この部分はこう書いてみましたがうまくいきませんでした

for(int i =0;dgv.ColumnCount;i++)
{
if(i== e.columnIndex)
{
//メドッドの実行
}
}

どのように書いたらよいのでしょうか?

212 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 17:30:37.55 ID:tdg4+T6T.net]
>>206
特に理由が無ければデザイナでイベント設定して
間違いとか2重登録を防ぐために
>>208
行=Row、列=Columnで用語統一してもらわないとわからない
if((「Column1」の列番号)== e.ColumnIndex)
{
for(int i =0;dgv.RowCount;i++)
{
//Label1の表示用計算
}
}
または
if((「Column1」の行番号)== e.RowIndex)
{
for(int i =0;dgv.ColumnCount;i++)
{
//Label1の表示用計算
}
}
こうなると思うんだけど

213 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 17:38:30.56 ID:gwcTnbzH.net]
>>208
Column1の列番号は事前にわかるんじゃないの?

列を自動作成せず自分で作ってる場合は、enum でも使って列番号を保持しておけばいいし、
自動作成してる場合は、作成後に DGV.Columns["Column1"].Index の値を
プライベート変数 int col1Index でも作って入れておけばいい。

e.ColumnIndex は、その保持している列番号と比較すればいいだけ
(forループいらない)

214 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 17:42:27.30 ID:tdg4+T6T.net]
ああ、e.ColumnIndexでValueChangedになった場所が返ってくるのがわかっていなかったってことか

215 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 18:12:04.38 ID:c0WNYs8K.net]
簡単な質問だからこぞって回答者が湧いてくるな

216 名前:デフォルトの名無しさん [2016/07/14(木) 18:48:09.07 ID:QLltTEuC.net]
皮肉屋も湧くんだよなあ…

217 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 19:46:03.67 ID:5MU+ZKyE.net]
誰も突っ込まないけど.netのrowとcolumnて列と行が逆じゃないの

218 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 19:51:38.66 ID:McBgAS72.net]
え?

219 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 19:51:49.76 ID:TytMBDyE.net]
>>214
列と行は文書などのフォーマットによって変わるだろうけど、ここでやるのは.Netの話なんだからその定義でやればいいだけ

220 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 20:21:24.36 ID:y14buF0D.net]
>>209
入門書が手打ちで学ぶタイプだったのでデザイナを使う習慣がありませんでした
デザイナのcellvalueCheangedにdgv_CellValuecheangedを追加しました

すみません
iがRowのつもりです

>>210
なるほど
こういうことですか

int col1index = dgv.Columns["Column1"].Index;
if(col1index == e.ColumnIndex)
{
//メソッド処理
}



221 名前:デフォルトの名無しさん mailto:sage [2016/07/14(木) 20:31:32.36 ID:TytMBDyE.net]
>>217
デザイナで必要なイベントのところクリックしたらデザイナの方にイベントハンドラ、コードの方の末尾にイベントメソッドが自動で追加される

if (dgv.Columns["Column1"].Index == e.ColumnIndex)
{
 //メソッド処理
}
これでいいよ
Columns[]の中とかcol1indexを変えて使いたいのでもないのなら

222 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 01:07:59.59 ID:/3exmsS7.net]
キーボード操作って非同期にしたりして、直接操作に影響ないようにできますか?

223 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 01:50:25.79 ID:4DI1Meok.net]
もともと非同期だろ。

224 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 15:53:30.73 ID:qjQsDUv7.net]
キーボード操作そのものはともかく、それを読み取るメソッドとかはもともと同期メソッドだろ
まあ今ならストリームのasync系で非同期操作できるのかもしれんが

直接操作に影響ってのがどういう事を言ってるのかは知らんが
操作に影響ないように読み取れば良いんじゃね

225 名前:デフォルトの名無しさん [2016/07/15(金) 15:57:50.11 ID:DNlCuNwQ.net]
ありがとうございました

226 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 16:30:30.15 ID:4DI1Meok.net]
>それを読み取るメソッドとかはもともと同期メソッドだろ

非同期だと言ってるだろ。GetAsyncKeyState() 名前からしてまんま非同期って名前ついてんじゃねーか。

227 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 17:37:39.10 ID:FRjgGkoq.net]
元の>>219の意図がわからないのに別の論争になっているw
キーイベント入れないとかショートカットキー無効とかそっちの話かと思ったのにw

228 名前:デフォルトの名無しさん [2016/07/15(金) 17:39:17.87 ID:hAjk6tEM.net]
コールバックとかasyncとか、特殊な形態のメソッドのみが非同期だと認識する世代なんじゃないすか?

呼び出しがブロックするかしないかの話でしかないけど

229 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 18:14:38.91 ID:qjQsDUv7.net]
>>223
ここC#のスレなんで、まずは.NETのライブラリの範囲で話してくれないかね

230 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 18:26:15.55 ID:4DI1Meok.net]
>>226
では、「それを読み取るメソッドとかはもともと同期メソッドだろ」とは具体的に.netライブラリのどのメソッドのこと言ってるのだね?



231 名前:デフォルトの名無しさん [2016/07/15(金) 18:27:18.75 ID:cdJAj9EB.net]
Formsは該当なし
WPFはKeyboardクラスか

232 名前:デフォルトの名無しさん [2016/07/15(金) 18:28:12.34 ID:cdJAj9EB.net]
Keyboardクラスはメソッドでアクセスするわけではない
プロパティは一般的にブロックしない

233 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 18:48:09.56 ID:qjQsDUv7.net]
>>227
Console系をイメージしてたんだが

キーボード操作の結果を取得するのと、現在のキーボードの状態を取得するとでは意味合いが変わってくるわな
まあ、元質問者がなにをしたいのかいまいちわからんけど

234 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 19:36:27.71 ID:3WxeIFwM.net]
C#の事調べてるときに同じページ2回以上開いたりすることあるんだけど
何か効率的に調べるコツとかってあります?

235 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 19:37:58.33 ID:x6A7/HXA.net]
>>231
一回開いたら閉じなければいい。
調べ事が全部終わった時点で閉じる

236 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 19:43:36.20 ID:3WxeIFwM.net]
>>232
それは原則ですよね
ただ検索ページに戻った時にこれ押したっけ?ってなって二度開きしてしまいますw

237 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 19:44:18.20 ID:ZmDm8hzp.net]
>>233
リンク色変わるだろ

238 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 19:45:42.25 ID:3WxeIFwM.net]
そうでしたね…
なんか要領が悪いのかページ中の言葉にもひっかかって無限に調べてしまう…
一個の調べごとで20ページくらい見てしまうんだけど病気なのかな
なんか調べごとの本質みたいなのはあるのかな?

239 名前:デフォルトの名無しさん [2016/07/15(金) 19:46:09.20 ID:3WxeIFwM.net]
勿論目的は一つなんですよ
一つを調べるのに調べたページで意味の分からない単語がでてきてを繰り返して

240 名前: ◆JVmV/l9hINWZ mailto:sage [2016/07/15(金) 19:59:44.95 ID:3WxeIFwM.net]
馬鹿なのかな



241 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 20:08:11.70 ID:ZmDm8hzp.net]
リンクの紫と青の違いも分からないとか色覚ガイジかな?

242 名前:デフォルトの名無しさん mailto:sage [2016/07/15(金) 20:16:49.45 ID:bPm+cBVv.net]
>>223
GetKeyState()もあるよ。

243 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 02:02:20.00 ID:vP7/TZ2l.net]
ウインドウフォームで開発してるんですが
2つの項目のうち一方がエラーだったらもう一方もエラーにしたいんですが
この2つは1つのまとまった共通部品なのでどうすればいいか悩んでます
一方のエラーイベントが発生した場合もう一方にもエラーアイコンを表示する様にしたいのですがその様な事って出来ますでしょうか?
エラーのさいに発生するイベントとエラーアイコンの表示方法について教えてください

244 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 02:28:07.30 ID:GuAHaK6X.net]
>>240
最後の一文を読む限り、「2つのうち1つがエラーのとき両方をエラー表示にする」以前に「1つがエラーになったときにエラー表示にする」こともできてないってことでいいの?
エラー表示なら単純なのだとラベルの文字色を赤くするとかでエラーと伝えるようなのがあるけどそういうのはわかる?

245 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 03:00:56.05 ID:gYQPT3Ah.net]
検証系のコントロールはないのかって話の気がする

246 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 05:24:18.06 ID:lvrxRkMZ.net]
>>240
多分その質問は実際のコードを見せてもらわないと適切な回答は無理
「エラーのさいに発生するイベント」で例えばそれぞれの部分でメンバ変数で自分でエラーフラグを作るとか参照の方法もいろいろ考えられるはず
・それぞれの動作前にフラグ初期化
・エラーだったらフラグをセット
・もう一方のエラーフラグがセットされていたら動作内容に関わらずもう一つのエラーフラグもセット
・2つのメソッド終了後エラーフラグがセットされていたらエラーアイコンを表示
「エラーのさいに発生するイベント」がコントロールの特定のイベントなのかtry-catchでcatchしたところなのかわからないけど

247 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 10:12:58.22 ID:51AxyT0I.net]
はやく次のバージョンで開発したい
地味に便利な機能が多いんだよな

248 名前:240 mailto:sage [2016/07/16(土) 12:36:05.75 ID:vP7/TZ2l.net]
わかりにくくてすいません
詳細にいうと
一方の項目に対して
errorProvider.SetError
が行われた際のイベントを拾って
もう一方の項目に対して
errorProvider.SetError
を行いたいということです。

errorProvider.SetErrorがおこなわれた際のイベントを取得できれば
いいんですがそんなイベントってありますか?

249 名前:デフォルトの名無しさん [2016/07/16(土) 12:40:08.94 ID:mo63C6Y/.net]
なんか過剰に複雑な方法を取ってるな
ご苦労様

250 名前:240 mailto:sage [2016/07/16(土) 12:44:37.99 ID:vP7/TZ2l.net]
機能が共通化されてるので大概の事はうまくいくんですがこの部品だけちょっと特殊なんです・・・



251 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 12:46:05.97 ID:lvrxRkMZ.net]
>>245
ErrorProvider.SetError メソッドはコントロールにエラーメッセージを設定するだけのようだけど?
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.errorprovider.seterror%28v=vs.110%29.aspx
エラーが起こったときに何かしたいのなら該当するコントロールのイベントから設定するしかない
そのレスの内容のままなら.SetError.Changed 見たいなイベントハンドラはないみたいだから.SetError メソッドの中で判断したら
>>246
そこは同感

252 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 12:57:30.23 ID:3A+r0QSz.net]
>>245
個別にSetError()を呼ぶのでなく両方のSetError()を呼ぶメソッドを作ればいい話なんだけど
その「共通部品」の中身は自分でいじれないのかな?

253 名前:240 mailto:sage [2016/07/16(土) 13:00:35.81 ID:vP7/TZ2l.net]
validationは一方の項目のみおこなって
エラーの場合は、エラーアイコンを両方の項目に表示するってことなので
共通化されてるvalidationクラスを何とかするしかなさそうですね・・・
かといって各画面にかいてるvalidation対象の項目の指定方法
も変更したくないし。。。うーん困った

254 名前:240 mailto:sage [2016/07/16(土) 13:04:36.63 ID:vP7/TZ2l.net]
>>249
共通ロジックはいじれるんですが
上に書いた様に各画面に修正が発生するような書き方はしたくないんですよね・・・

255 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 13:07:22.57 ID:hRwe7ieF.net]
内容の全くわからないプログラムを
どう改造したらいいのかわからない、困った
って言われてもここじゃどうしようもないなw

256 名前:240 mailto:sage [2016/07/16(土) 13:16:23.07 ID:vP7/TZ2l.net]
すいませんまとめるとこんな感じです

画面・・・入力チェック対象の各項目を指定してvalidationクラスで判定
validationクラス・・・対象の項目に対し入力チェックを行う(エラーの場合項目の横にエラーアイコンを付与する)
共通部品X・・・各画面に設置されている日付項目の拡張版。項目は二つあり一方がエラーの場合もう一方にもエラーアイコンをつけたい(入力チェック対象は片側のみでよい)

257 名前:240 mailto:sage [2016/07/16(土) 13:17:45.40 ID:vP7/TZ2l.net]
共通部品Xは多数の画面に散らばってるので出来るだけ最小限の修正ですむようにしたいてます

258 名前:240 mailto:sage [2016/07/16(土) 13:24:04.34 ID:vP7/TZ2l.net]
ですむようにしたいてます

ですむようにしたいです

259 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 13:24:28.19 ID:51AxyT0I.net]
>>240
根本的にUI設計がおかしいんだろうな
Viewにエラーアイコンが幾つかあるけどModelにはエラー情報は1つ
エラーアイコンはそのエラー情報を共有するのが正解って状況じゃん
それなのにModel上にエラー情報が2つ以上あってそのせいでエラー情報の同期が必要ってことだろ
部品のせいにしてないで無理やり直すより今すぐ現場にUI設計担当を呼び出して説教する方がいい結果に終わるだろうね

260 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 13:28:23.93 ID:3A+r0QSz.net]
もともとあるクラスを修正したくなくて、何かを追加していくしかないのなら…

ErrorProviderを継承してSetError()したらイベントを発生するラッパークラスを作成

Designer.cs で new ErrorPorvider() してるとこを自作クラスに書き換える

…くらいしか思いつかん



261 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 14:22:54.74 ID:zis6cIwo.net]
javascriptを利用するコードがC#でかけますけどあれってどこからjavascriptの
機能呼び出してるんですか?

262 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 14:25:56.44 ID:lvrxRkMZ.net]
>>258
WebBrowserクラス
違う場合はそこの内容貼って

263 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 14:32:11.71 ID:zis6cIwo.net]
>>259
そうではなくてjavascriptって一般的に例えばhtmlをブラウザで開いたら実行できるわけじゃないですか?
どこにそのもとになるプログラムあるのかなって

264 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 14:44:48.34 ID:51AxyT0I.net]
ブラウザは関係ない

265 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 14:47:13.51 ID:AJMjVWo8.net]
jscriptとかでも無いんか
何れにせよそのコードを見ない事には答えようがない

266 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 14:53:22.80 ID:LqeZLz2T.net]
>>260
HTMLの内容をブラウザがレンダリングできるのと同じで、ブラウザ自身がJavaScriptを解釈して実行している
ブラウザによっては組み込まれているJavaScriptエンジンの部分だけ取り出して利用できるものもある
有名なのはChromeのV8エンジンで、V8はNode.jsに使われている
C#からV8は使えないことはないがC++の知識が必要
C#でブラウザを介さずに直接JS動かしたいならJScript.NETやWSHがあるが、どっちも時代遅れ甚だしいゴミ

267 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 14:57:13.45 ID:HG82J4b8.net]
C#は時代遅れのゴミではないというのは斬新な意見だ。

268 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 15:00:16.67 ID:51AxyT0I.net]
JavaならともかくC#はまだまだこれから

269 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 15:4 ]
[ここ壊れてます]

270 名前:2:20.91 ID:zis6cIwo.net mailto: >>263
ブラウザが実行してるんですね、それは思わなかった
なんかプログラムがあるのかと思ってました
ブラウザを介するってことはchromeやieが開いてしまうってことですよね
結構融通がきかないもんですね
[]
[ここ壊れてます]



271 名前:デフォルトの名無しさん mailto:sage [2016/07/16(土) 15:43:21.47 ID:zis6cIwo.net]
したいことはevalの利用です
C#にこれがないから大変困ってますよ

272 名前:デフォルトの名無しさん [2016/07/16(土) 16:03:00.04 ID:mo63C6Y/.net]
つい最近別のスレでも言ったがeval厨は死ね






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

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

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