ふらっと C#,C♯,C#(初心者用) Part129 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/06/09(金) 18:36:01.72ID:lNiKtgPwM

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

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

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part128
http://mevius.2ch.net/test/read.cgi/tech/1493730340/

■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/

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

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
---
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/06/09(金) 18:49:58.07ID:raePFHAA0
質問しようとしたらちょうど新スレのようで、>>1さんお疲れさまです。
そしてもしスレ違いならすみません。

それなりにプログラミングの経験はあると思うのですが積極的に GUI のアプリケーションを作成したことがなかったため、Visual C# を学ぼうと考えました。
選択理由は C# はそれなりに把握して他の言語と比較しても好みだったためと、Qt などよりも使い勝手がよさそうに見えたためです。

ところが実際にはじめてみると細かい機能がよく分からず、MSDN のドキュメントは体系立てて学習するには少し使いにくすぎ、
書籍なども「C# そのものの内容についてがメインで求めている内容はおまけ程度」というものがほとんどで、取っかかりを得られずに困っています。

もし定番の学習法や便利な書籍・サイトなどがありましたらご教示願えませんでしょうか?
あるいは皆さんがどんな風に学ばれたのかなど参考までに教えていただければ……。

またひとつ確認なのですが、普通のメモ帳より高性能なテキストエディタを作成したいとするのならばコンポーネントを自作しなければいけないという認識であっているでしょうか?
MSDN の関連項目を見てもいまいち理解できないのですが、もしかしてこれはかなり難度高めでしょうか?

無知で申し訳ありませんがよろしくお願いします。
2017/06/09(金) 19:00:13.53ID:RD1lQy150
>>1
立て乙
>>2
内容は古いけどまとまっているところ
http://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
https://dobon.net/vb/dotnet/
というか困ったらその内容でググれ
>テキストエディタを作成したいとするのならばコンポーネントを自作しなければいけない
何をしたいかわからないから答えようがないが、とりあえずRichTextBoxで作っていけば?
2017/06/09(金) 19:24:13.24ID:raePFHAA0
>>3
ありがとうございます。
後者は恥ずかしながらVB.netについてのページと思いこんで飛ばしていました……。

テキストエディタについては、リッチテキストは未確認ですが、
標準のものは字間・行間の調整など、メモ帳にはないけど普通のテキストエディタならあるような設定が無理そうでしたので。
2017/06/09(金) 19:39:15.37ID:/AOOOyDNM
たのしいC#って本でプログラミング勉強した人いますか?
レベルはどれくらいですか
2017/06/09(金) 19:44:38.32ID:+suy1KAna
入門書は書店で中味見て
形があるアプリ作ってるのがいいよ
作ってるアプリが自分の興味ないものだったら買うのをやめたほうがいいかも
2017/06/09(金) 20:27:45.19ID:Y6dY8bQba
>>2
一応突っ込んでおくけど、エディタ作りたいって初心者にありがちだけど、
エディタって初心者が想像するほど簡単じゃないからやめといた方がいいと思うよ

少なくとも外観のシンプルさに騙されて実装の大変さが想像つかないレベルのうちは
絶対に挫折するw
2017/06/09(金) 20:33:06.88ID:jPp38qoUa
テキストコントロール自体を改良するか自分でいちから作り上げるか
どっちにしても初心者には鬼門過ぎる

似たような問題で
電卓作ってcalcと同じ動作で作れる奴
なんか新卒でいても1人だな
2017/06/09(金) 20:38:33.22ID:/H0LPwnR0
>>6
実はもう買ってるんだけど、自分で理解出来てるのか、出来てないのか分からなくて困ってる‥
こういう微妙な立ち位置なんだよね
まあ理解できてると思うけど
他の言語は分かるけど
2017/06/09(金) 20:47:11.62ID:iWWz3Pko0
AvalonEditって代物が有って、コレを使えば簡単にエディター作れるには作れるんだがwpfなんだよな
http://avalonedit.net/
2017/06/09(金) 21:07:37.49ID:k+3fMdQf0
>>10
仮にForms版があったとしても、プログラミングの勉強にはならないだろ。
2017/06/09(金) 21:24:43.76ID:lTunlEdIM
>>10
こういうデカい部品を相手にするのは初心者の勉強には最悪
まったく応用の利かないバッドノウハウに時間取られるだけ
2017/06/09(金) 21:52:17.12ID:Mc8AIFQyH
あまり理想を追求せずにメモ帳程度のとりあえず動きますレベルの作るんだったら、
入門用に手頃な題材だと思うけどな
ただ、textboxの動作のカスタマイズとか考え出したら、途端にノウハウが必要に
なってくるし、さらに多くを求めると、自分でコントロール自作したほうがいいじゃ
ないかって話になってくる
2017/06/09(金) 22:05:28.35ID:raePFHAA0
>>6
田舎だと現物がなくて地味に大変なんですよね……
電子版のサンプルがあればまだいいんですが、どうにもいまひとつなものが多くて

>>7
ありがとうございます
実装など考えて「これは何から何まで初心者向きじゃないのでは?」と思ったので質問させていただきましたが、やはりみたいですね
ひとまずのところは素直に諦めておきます
作りたかったのはアウトラインプロセッサなので尚更困難そうですし……

>>10
感謝です
上述の通りひとまずは諦めますが、扱えるようになった日のためにメモさせていただきました
15デフォルトの名無しさん (ワッチョイ 0de3-K3wN)
垢版 |
2017/06/09(金) 22:50:12.15ID:3riuGxqe0
>>7
だよな、VB.NETで文字色と背景色が変えられる印刷プレビュー付きのメモ帳を
作ってみたけど結構大変だったわ。変な挙動が出ないようにきれいに仕上げるのが大変大変
将来的には秀丸並なエディタを考えていたが諦めた。バージョンアップもしてないし

>>8
それも大変だわな。作ってみようと思ってるんだけど全然やってないわ

>>13
そうそう、TextBoxの扱い大変だったわ。Win32APIのサイト読みまくった覚えがある
タブ幅を変えられるようにするにはWin32APIでいじらないとダメなんだよな
せめてタブ幅を変えられるようにしたいと思い勉強してやり方分かったのに結局やってないわ…

夏休みにでも挑戦してみるかな
2017/06/09(金) 22:52:24.97ID:7pQW/h0l0
作りたいと思うものを作ればいい
挫折するのも勉強のうち
2017/06/09(金) 23:10:41.46ID:hBMXxcIqM
GUIアプリ作成の習得の前にOOPの勉強からじゃないかな
2017/06/09(金) 23:18:42.25ID:deOaTYIP0
俺も最初にプログラミングに入門したときはVC#のGUI開発のチュートリアル的な本をやったけど
全くもって時間の無駄だったわ
その後で@ITのクソ長い川俣の文法解説を苦しみながら読んでやっと身についた
2017/06/10(土) 03:06:37.86ID:9CkaHZjz0
文法なんて何の苦労もしないだろ
2017/06/10(土) 03:23:40.05ID:1Hn0tUJS0
どういうときにその書き方をする/機能を使うべきか、が知りたいのよね
2017/06/10(土) 05:23:55.06ID:t5/pUE6C0
あー俺もやったわエディタ作成
何とか .NET 内で済まそうとやりくりしても結局 Win32api が必要になるという
2017/06/10(土) 17:31:02.75ID:BjmuQFWZr
C#の文法は解りやすいよね
C/C++からだったのもあってかとても楽だった
2017/06/10(土) 17:44:50.65ID:8hZhOGpOa
文法がわかるのと誤解なく使えるのは別物です
2017/06/10(土) 17:47:17.83ID:1OFjIP+40
>>23
誤解なく使えるようになってる状態をわかってるって言うんじゃねーの?
2017/06/10(土) 17:57:29.41ID:8hZhOGpOa
そういう文脈じゃないでしょ?
2017/06/10(土) 19:38:42.68ID:PzybJK5d0
WPFにそろそろ移行しなきゃと思いつつ全くできん
MVVMもようわからん
27デフォルトの名無しさん (アウアウカー Sae1-doPM)
垢版 |
2017/06/10(土) 20:20:15.41ID:rv8ogaG3a
フォームにテキストボックスどれくらいの数までパフォーマンス落ちないでいけるかわかる?
150個近く置きたいんだけど、ロードの時パラパラ漫画なるかな?
2017/06/10(土) 20:23:21.17ID:HebsjGPU0
設計を見直せ
2017/06/10(土) 20:23:28.55ID:MbS3wo5J0
>>27
それはさすがに自分の環境で試さないとだめだろ
背景の有無とかでも変わるし
30デフォルトの名無しさん (アウアウカー Sae1-doPM)
垢版 |
2017/06/10(土) 20:30:35.51ID:rv8ogaG3a
>>28
何使ったらいいと思います?datagridview?
>>29
それはもちろん確認しますけど、CPUやらメモリやらの環境依存もあったりするかな?と思って参考までに実績ある人がいたら聞いておきたかったです
2017/06/10(土) 20:35:28.02ID:s9o/w7+ta
>>30
結論から言うと無理だよ
クソ重くて動かない
絵にしといて編集するときだけテキストボックス出した
32デフォルトの名無しさん (アウアウカー Sae1-doPM)
垢版 |
2017/06/10(土) 20:45:06.73ID:rv8ogaG3a
>>31
ありがとうございます
やっぱりそうすかねー。んーどうしよう
2017/06/10(土) 21:04:20.90ID:vfV2Yx340
>>32
dategridviewじゃあかんのか?
2017/06/10(土) 21:19:08.32ID:M+kTqTcG0
>>27
分類できるならタブで分けるなりした方が楽じゃね
1画面で150項目入力とか表示以前にきつそうな
35デフォルトの名無しさん (アウアウカー Sae1-doPM)
垢版 |
2017/06/10(土) 21:22:26.64ID:rv8ogaG3a
>>33
ありがとうございます
datagridviewだとレイアウト上ちょっと厳しいんですよね。。
最悪テキストボックスとdatagridviewの組み合わせでいこうとは思ってますが
もしくはformをわけるかですかね。。
36デフォルトの名無しさん (アウアウカー Sae1-doPM)
垢版 |
2017/06/10(土) 21:24:13.48ID:rv8ogaG3a
>>34
ありがとうございます
一度に全部を確認したいのでタブだと駄目なんですよね
2017/06/10(土) 22:33:54.40ID:XdYy5zTm0
150個のテキストボックスなんて表示されてたとしても使う方がついてけないと思うけど。

31 が言ってるみたいにか、(ラベルか何かで)データを表示だけしといてクリックなりのタイミングで
テキストボックスをその位置に表示して編集可能にするとかが妥当だと思うなあ。やるなら。
本当に「一度に全部を確認したい」の? よくよく考えてみたらそんな必要なかったりしない?
2017/06/10(土) 23:03:03.55ID:Wb+MS3Tir
まあ、業務アプリだとありがちかもしれないねw
39デフォルトの名無しさん (アウアウエー Sa93-mlCz)
垢版 |
2017/06/10(土) 23:03:35.10ID:Lo444BJba
よー分からんが、入力の時は3ページくらいに分割しといて、確認は1ページみたいな感じが良いんじゃないか?
2017/06/10(土) 23:24:10.53ID:Io2vHiPPa
Excel15x10だと思うと全然大したことないのにな
41デフォルトの名無しさん (ワッチョイ 23ea-g/1O)
垢版 |
2017/06/10(土) 23:54:35.71ID:ZRXNskxD0
150個なんて全然軽いんじゃないの?
1500個なら重そうだけど
スクロール外にも及ぶなら、virtualViewみたいな設定ってWPFにないの?スクロール外のパーツをスクロールされたときに描写するViewみたいなの
2017/06/11(日) 00:07:06.98ID:J1z4hNf20
あるクラスの中でメソッドA〜Zまである中でメソッドA〜Cには同じ引数が渡されるので
これを別クラス化してコンストラクタに引数を渡してクラス変数を参照するように書き換えたらいいかなと思ったんですがどうなんでしょうか?
2017/06/11(日) 00:15:25.88ID:uDFgvSvSa
何を狙ってるの?
A-Cの引数がこれからも同じ保証なんかないじゃん
余計なことするなよ
2017/06/11(日) 01:40:30.93ID:zqgDUCjYa
>>42
「ので」は理由を表す助詞だけど、
一行目のどこがどう二行目の理由になっているのか理解できん
2017/06/11(日) 14:09:21.09ID:h7UNpT7Nr
>>41
150個くらいなら楽勝だと思うが、UIとしてどうなの?って感じたと思う。
2017/06/11(日) 14:11:29.27ID:h7UNpT7Nr
>>42
その場合、「同じ引数」に強い関連がある可能性が高いので、それに関する全てに関数を別クラスにするのは有だと思う。
2017/06/11(日) 14:14:21.51ID:blxFZxbL0
>>42
C#関係ないじゃんスレチだぞ
2017/06/11(日) 14:15:49.84ID:tNh5tYdla
>>45
だからExcelがやりたいんだろ
2017/06/11(日) 14:18:20.91ID:tNh5tYdla
>>42
後からBだけ引数1個増えましたってときに「コイツ(製作者)ばっかじゃねーの」って思う
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況