C#, C♯, C#相談室 Part59at TECH
C#, C♯, C#相談室 Part59 - 暇つぶし2ch776:デフォルトの名無しさん
10/06/22 05:11:51
>>773
成すよ
まあこのあたりみてくれ
URLリンク(cs2ch.blog123.fc2.com)

777:デフォルトの名無しさん
10/06/22 05:33:54
>>775
イベント追加する時に+=を書かなくちゃいけなくなるとか

778:デフォルトの名無しさん
10/06/22 05:35:24
>>777
hoge.Click +=
とか書いてTAB2回押せば勝手につくってくれるじゃん

779:デフォルトの名無しさん
10/06/22 05:47:02
>>778
プロパティのイベントを選べないじゃん

780:デフォルトの名無しさん
10/06/22 05:54:13
>>779
だからその辺は>>776読めって
一旦デバックすれば継承したクラスも同じように操作できるから
それができないとFormを継承したForm1の設定はどうやって実現するんだよ
普段コードをごりごり書いてるのはFormを継承したクラスだぞ

781:デフォルトの名無しさん
10/06/22 06:01:54
>>780
MainFormのデザイナから継承させたコントロールのイベントを
プロパティウィンドウからメソッド生成させると
結局MainFormのクラス内にメソッドが追加されないか?
これじゃ分割出来てないんだが

782:デフォルトの名無しさん
10/06/22 10:25:36
ボタン100個あって、100個クリックイベントを書くのは愚の骨頂だろ。
インタフェースの仕事としては、どのボタンがクリックされたかを伝えるだけで良いんだからさ。

それ以上に、動かす用途によって書き方は変わると思うんだが。

783:デフォルトの名無しさん
10/06/22 11:17:47
100個あるボタンそれぞれが全く別の処理を行うというのは考えづらい
ツールボタン的なものや、データ行それぞれに対するコマンドあたりだろうけど
そういうのは共通の入り口から振り分けられる

784:デフォルトの名無しさん
10/06/22 12:30:02
だね

785:デフォルトの名無しさん
10/06/22 13:01:54
private void button1_clickClick(object sender, EventArgs e)
{
  MessageBox.Show("1");
}

private void button2_clickClick(object sender, EventArgs e)
{
  MessageBox.Show("2");
}

...

private void button100_clickClick(object sender, EventArgs e)
{
  MessageBox.Show("100");
}

なんてコードがあったら継承して、一つに纏めろと言いたくなるわな。

786:デフォルトの名無しさん
10/06/22 13:34:52
さすがにそれは・・・w
使う方も大変だな、ボタン100個

787:デフォルトの名無しさん
10/06/22 14:01:28
ソフトウェア和文タイプキーボードとか

788:デフォルトの名無しさん
10/06/22 14:03:54
>>787
TagでもNameでもいいので識別に使う情報も足せておけば
イベントハンドラで余裕で処理できるよ

789:デフォルトの名無しさん
10/06/22 14:10:08
>TagでもNameでもいいので識別に使う情報も足せておけば
>イベントハンドラで余裕で処理できるよ
TagでもNameでもいいので識別に使う情報持たせておけば
一つのイベントハンドラで余裕で処理できるよ

790:デフォルトの名無しさん
10/06/22 14:40:49
>>785
継承も何も、一つだけ作って後は全部同じの指定しろって感じ?w
IDEからもできるしな!

791:デフォルトの名無しさん
10/06/22 14:46:51
>>777
部品化したにもかかわらず、何処かのフォームの勝手な理由で部品を変更しようとするの?

>>790
MessageTextみたいなプロパティをつくり、IDEからも操作できるようにしておき、
クリックされた時にMessageBox.Show(MessageText)を行うようなボタンを作成すれば
IDEで配置→MessageTextを設定
という作業になるよ

792:デフォルトの名無しさん
10/06/22 14:49:52
わざわざつくるのめんどくさくてこうしてしそう。

private void Form1_Load(object sender, eventargs e)
{
    Foreach (Control c in Panel1.Controls)
    {
        if(typeof(c)==typeof(Button)) ((Button)c).Click += new EventHandler(softkeys_button_click);
    }
}
private void softkeys_button_click(object sender, eventargs e)
{
    Textbox1.Text = String.concat(Textbox1.Text, ((Button)sender).Text);
}


793:デフォルトの名無しさん
10/06/22 15:05:21
デザイナで出来ない云々

794:デフォルトの名無しさん
10/06/22 18:05:57
>>785
この例だと継承なんていらないでしょ。
button_clickに全てまとめて自分自身を判別すればいいんじゃまいか。

795:デフォルトの名無しさん
10/06/22 18:09:31
>>794
自分自身を判断する際に適当なプロパティがあるかどうかってところだな。

796:デフォルトの名無しさん
10/06/22 18:15:47
>>795
Tagになんでも設定できるので識別情報を入れるか
Nameにbuttonxxxと言った感じでxxxの部分に識別情報を入れておけばOK

797:デフォルトの名無しさん
10/06/22 18:24:57
>>795
Tagってそういうのに使っちゃダメなの?

798:デフォルトの名無しさん
10/06/22 18:28:35
ボタン10個あってそれぞれに10個のイベントがあったら100イベント。
その他のコントロールもあったら数百個のイベントがあってもおかしくない。
そしてそれらが共通しない機能なのも普通にあり得る。
そういう状況の時にユーザコントロールを使えって話じゃないの?
でもそれだとイベントを関連付けるときにプロパティウィンドウは使えませんよーって話。

799:デフォルトの名無しさん
10/06/22 18:37:59
>>798
>イベントを関連付けるときにプロパティウィンドウは使えませんよ
・・・お前は何を言ってるんだ・・・?
継承したのもカスタムのも、普通にプロパティ窓からイベント付けられるぞ?

800:デフォルトの名無しさん
10/06/22 18:46:41
流れ仏多義理でちょい質問
Firefoxみたいにタブに閉じるしいたけ付けたいんだけど
オーナードローするしかない?

801:デフォルトの名無しさん
10/06/22 18:47:35
>>798
ユーザーコントロールにするのなら、
メソッドやプロパティ同様に、イベントもコントロール内で定義したらプロパティウィンドウで使えるっしょ。

802:デフォルトの名無しさん
10/06/22 18:49:40
>>800
タブ部分に閉じるボタンってこと?
labelなんかだと配下にbuttonとか置けるんだけど
タブコントロールのタブ部分にできたっけかな?

803:デフォルトの名無しさん
10/06/22 18:59:31
>>800
うん、オーナードロー。

804:デフォルトの名無しさん
10/06/22 19:11:17
>>799
>>801
あれ?
プロパティウィンドウからイベントを自動生成+関連付けしたら、結局メインクラスに生成されない?
メインクラスに生成されたらわざわざユーザコントロール作った意味がない気が…。

805:デフォルトの名無しさん
10/06/22 19:16:44
ああごめん。何いってんだ。
ユーザコントロールの方のプロパティウィンドウ使えばいいんだよね。

806:デフォルトの名無しさん
10/06/22 19:20:21
>>802
どうもタブそのものを取得するのが難しいみたい
だから結局>>803って結論しかないか
WPFなら簡単なのかねー?

807:デフォルトの名無しさん
10/06/22 19:21:55
>>806
あとはタブぽい動きをするユーザーコントロールを自分で作るかだねえ

808:デフォルトの名無しさん
10/06/22 19:22:12
質問です。
RichTextBoxで行間をピクセル単位で指定する方法はありますか?

809:デフォルトの名無しさん
10/06/22 19:34:11
コントロールを継承した時のデザイナってなんで表示されないんだっけ?

810:デフォルトの名無しさん
10/06/22 19:38:29
>>806
WPFなら簡単だね、タブに何でも入れられる。TabControl in タブなんて意味不明なUIさえ可能だ。

>>808
WinFormのRichTextBoxだと、EM_SETPARAFORMATで設定できないこともない

811:デフォルトの名無しさん
10/06/22 21:10:05
WPFなんて使ってるアホまだいるのか

812:デフォルトの名無しさん
10/06/22 21:18:58
WPFはこれから

813:デフォルトの名無しさん
10/06/22 21:30:19
>>811
VS2010をdisってるの?

814:デフォルトの名無しさん
10/06/22 22:20:06
WPFとかXNAとかしょっぱいもん使って作るくらいなら
DirectXをちゃんと使えるようにしろと

815:デフォルトの名無しさん
10/06/22 22:21:31
軽さが本分のIDEを、良いグラボ必須にした戦犯と聞き及んでおりますが、反論は?

816:デフォルトの名無しさん
10/06/22 22:24:19
IDEの本分が軽さであった時などない。はいろんぱー

817:デフォルトの名無しさん
10/06/22 22:34:17
つまりは作るアプリ皆高性能グラボ高性能CPU必須にする素晴らしい技術ですな。
いやはや、NVIDIAにAMD、インテルから感謝状が期待できますのう。

818:デフォルトの名無しさん
10/06/22 22:39:17
じゃあいつまでもWin9x基準で作ってろよ
Win7がちゃんと動く環境ならWPFは普通に動く

819:デフォルトの名無しさん
10/06/22 22:42:48
糞ボロいPCで開発、糞ボロいPCで使用っていうなら.netの使用自体を考え直した方がいいんじゃ
煽りじゃなく
C#(.net)が出た当時なんてもっとボロカスに叩かれて「誰が使うんだよw」とか言われてたが
ハードの進化で今は軽い方だと思うけどなー

820:デフォルトの名無しさん
10/06/22 22:43:47
WindowマネージャがGPU使ってる時代に中身のツールキットだけレガシーに拘ってもねぇ

821:デフォルトの名無しさん
10/06/22 22:47:15
Windows7ったら、未だにVista以下のシェアだぜwwwww
ちなみに、XP 62.55%、Vista 15.25%、7 12.68% (NetApplications May, 2010)。
いつになったらメジャーになるんだろうかな?

822:デフォルトの名無しさん
10/06/22 22:48:39
新しいハードの性能を活かさないともったいないから見た目をちょっと豪華にしようっていうだけだろ
見た目がどうでもいいんだったらWindows95時代の格好悪いUIで作ってればいい
今のWinFormsの見た目だって数年後には古臭くて格好悪いと認識されるようになってるよ

823:デフォルトの名無しさん
10/06/22 22:51:13
64bitつかうで無い限りやっぱりXPだよな。
ワクチンソフトの対応さえあればXP64bit使いたいんだが。

824:デフォルトの名無しさん
10/06/22 22:51:25
まだサポート期間残ってるし、しばらくはXPが優勢でしょ。
まーでも、ここ1~2年で大分変わると思うけど。

825:デフォルトの名無しさん
10/06/22 22:52:49
あの7のGUIの出来は拷問だよマジで。

826:デフォルトの名無しさん
10/06/22 22:52:50
でも、自分も 12.68% の一員なんだけど・・・やっぱ使いづらいわコレ。
一年近く使っててもイライラする。

827:デフォルトの名無しさん
10/06/22 22:53:32
>>823
よくわからんが64bit7でワクチンソフト?ウィルス対策ソフト?なら使ってるよ

828:デフォルトの名無しさん
10/06/22 22:55:39
>>821
歴史に学べ
どのOSもメジャーになるのに数年かかってる
SPが2になる頃にはシェア一位になってる

829:デフォルトの名無しさん
10/06/22 22:57:08
>>828
では、Vistaもそろそろメジャーに!

830:デフォルトの名無しさん
10/06/22 22:57:42
長年XPを使っていたので7で慣れが必要なのは確かに煩わしい
が、ある程度のスペックならばXPより快適だぞ
XP厨だったのに素直に降参した

831:デフォルトの名無しさん
10/06/22 22:57:45
どの辺が使いづらいの? 普通に便利に使ってるけどなぁ。

832:デフォルトの名無しさん
10/06/22 22:57:58
初心者ならともかくプログラマでしょ? 一般人から見たらPCウィザードでしょ?w
カスタマイズしたりショートカットキー使ったり補助ツール使ったりしてたら使い勝手なんか全然変わらないよ

833:デフォルトの名無しさん
10/06/22 22:58:16
>>827
7の64bit版はワクチンソフトの対応有るけど、XPの64bit版の対応が無いんだよ。
で、泣く泣く7の64bit版使ってる。

834:デフォルトの名無しさん
10/06/22 22:59:46
ここはドザ板かw

835:デフォルトの名無しさん
10/06/22 23:01:49
いくらでもあるだろよ・・・。

836:デフォルトの名無しさん
10/06/22 23:02:05
これが情弱ってやつか・・・。

837:デフォルトの名無しさん
10/06/22 23:20:47
ツールバーにスタートメニュー作ってるが元々のスタートが邪魔。
ライブラリが幅きかせすぎ。
おまけにクリックすると「アクセスが拒否されました」なフォルダ大杉。
エクスプローラでフォルダ開くとフォルダのツリーで現在のフォルダがなぜか一番下にスクロール。投げ飛ばしたくなる。
時々、デスクトップにdesktop.iniが居座って削除出来ない。
ホームグループアイコン、レジストリ弄ってデスクトップから消しても消してもいつのまにか復活。
USBメディア抜き差ししてるとUSBアイコンが消える。まだもう一本刺さってるだろがぁ!
これは相性の問題かもしれないが休止から戻るとNICがだんまりする確率高し。
セキュリティの問題なのか知らないが、旧型のTeraStationと繋ぐときにはグループポリシーでNTLM応答のみ送信にしないとならない。
はぁはぁ・・・他にも色々ありすぎて・・・思い返すと段々腹が立ってきた。

838:デフォルトの名無しさん
10/06/22 23:25:25
お前は死ぬまでXP使っとけよw

839:デフォルトの名無しさん
10/06/22 23:26:28
ふあ…ふ

840:デフォルトの名無しさん
10/06/22 23:32:40
7上のものならいいけど、XPEとかEmbedded用XPの開発も結構あるのよね。
まだ5年以上MSのサポートもあるわけだし。
ここら辺はうまく使い分けないとな。

841:デフォルトの名無しさん
10/06/22 23:38:03
VPCって微妙にめんどくさいから結局は隣に古いPCを置いてXP入れてテスト専用にしてるわ

842:デフォルトの名無しさん
10/06/22 23:39:03
VPCって微妙にめんどくさいから結局は隣に古いPCを置いてXP入れてテスト専用にしてるわ!!!!!

843:デフォルトの名無しさん
10/06/22 23:39:31
>>832
エクスプローラのAlt>F>WがAlt>F>Xに変更されてたりしててだな。
すぐ慣れるんだけどさ。

844:デフォルトの名無しさん
10/06/22 23:40:53
>>837
まあ、UIの操作性は確かに難が多い。
単なる慣れの問題と言い切れない改悪点がいろいろあるとは俺も思う。
最悪なのがファイル検索の改悪。

だが、
>おまけにクリックすると「アクセスが拒否されました」なフォルダ大杉。
こんな文句垂れる人はシステムフォルダを隠さない設定にしちゃダメだろw

845:デフォルトの名無しさん
10/06/22 23:42:57
7はXPよりも安定してるからいれてるな
ファイラー使うから7特有のUIとか関係なし
OSは安定さえしてればいいよ

846:デフォルトの名無しさん
10/06/22 23:44:05
なら2000でいいじゃん。

847:デフォルトの名無しさん
10/06/22 23:47:02
ファイラーなんて死語だと思ってたw
っていうか、使えるファイラある?

Avestaとか使いにくいし、UltraExplorerは期待してたが結局放置状態のようだし

848:デフォルトの名無しさん
10/06/22 23:47:58
>>846
マルチCPUに対応してない
サポート切れてセキュリティ死んでる
.Net4が入らない
スリープが終わってる
パフォーマンス悪い
安定云々以前に論外です

>>847
UltraExplorer風のものをdelphiで作ったからそれ使ってる

849:デフォルトの名無しさん
10/06/22 23:50:17
ここドザ板かと思ったw
>>847
x-finder使ってる。極稀に落ちるけど気にならないレベル。Win7pro64bit

850:デフォルトの名無しさん
10/06/22 23:53:20
>>849
ありがと後で試してみる。

851:デフォルトの名無しさん
10/06/23 00:25:55
>>844
例えば SendTo。
実際は SendTo は C:\Users\{ユーザ}\AppData\Roaming\Microsoft\Windows\SendTo
なんだけど、何故か C:\Users\{ユーザ}\SendTo が意味もなく存在してアクセス不能。
こんな変なものがあっても、隠れていたら良いとか言えるのか?

852:デフォルトの名無しさん
10/06/23 00:40:29
>>851
>何故か C:\Users\{ユーザ}\SendTo が意味もなく存在してアクセス不能。
うちのセブンちゃんにはありません

853:デフォルトの名無しさん
10/06/23 00:48:22
>>851
実際は(管理者権限なら)アクセス権をちゃんと設定すればアクセスできるんだけどさ。
まあ、アクセスを制限されるのに「管理者」って名ばかりなのは何なの、
って突っ込みたい気持ちは俺も分かるけどw

854:デフォルトの名無しさん
10/06/23 01:17:31
信用できる管理者に対する制限は少ないんだよ。w

855:デフォルトの名無しさん
10/06/23 02:14:51
7で嬉しかったのは存在しないネットワークのパスのファイルにアクセスしようとして固まってもプロセスは殺せるようになった。
Vistaまではタイムアウトするまでプロセスを殺すことすらできなかった。
VistaからAPI追加されて対応したと思ってたのにVistaでも追加したAPIを使ってないのか殺せなかったなぁ…

856:デフォルトの名無しさん
10/06/23 02:34:23
数百個のファイルやフォルダを選択しただけでエクスプローラが落ちる仕様はvista以降解消されたの?
この仕様のせいで数百個のファイルの入ってるフォルダを別フォルダに移動する時に手動で50個くらいずつ移動しなくちゃいけなくて不便。

857:デフォルトの名無しさん
10/06/23 03:01:31
>>856
落ちるとなるとむしろ変なシェル拡張とかが入ってる環境じゃないかと疑いたくなるなぁ。
XPでも数百くらいのファイル数というかただファイルが多いという状況で落ちたことなんて全然ない。
それでもVista以降のエクスプローラの安定感はXPとは比べものにならないと思うよ。

でも、Vistaのエクスプローラは7を触ったあとでは操作性がいろいろクソすぎてもう触る気が起きないので7がお勧めだなぁ。

858:デフォルトの名無しさん
10/06/23 03:36:59
Vista以降で解消されたのか?ってことは、Vistaよりも前のOSでおちるってことだよね。
Meは知らんが、2000、XPでは当たり前のように1000ファイルぐらい選択していたよ。
ファイルの種類にもよるんだろか。

859:デフォルトの名無しさん
10/06/23 03:57:21
XPだとファイルを1000個コピーしようとしてプチフリして「残り 192839分」とかしょっちゅう見るけどなあ

860:デフォルトの名無しさん
10/06/23 04:06:59
それは
> ファイルやフォルダを選択しただけでエクスプローラが落ちる
と何か関係が?

861:デフォルトの名無しさん
10/06/23 04:22:50
結局ユーザーコントロールに文句言ってる奴は使い方知らないだけなんじゃねぇか、と疑いたくなるなー。
普通にFormを継承したMyFormとかTextBoxを継承したMyTextBoxみたいなの使うよな?
デザイナ上で普通に動くし・・・

862:デフォルトの名無しさん
10/06/23 04:52:33
まあなw


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