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

■ このスレッドは過去ログ倉庫に格納されています
2017/10/09(月) 19:00:56.93ID:Y4203ffV0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

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

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part131
http://mevius.5ch.net/test/read.cgi/tech/1504861931/
■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://mevius.5ch.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/10/09(月) 20:03:10.67ID:ywmo0VPNa
>>41
前から書いてるけど公開鍵のデータが復号できたからそれが正しいデータとは保障されない
正しいデータかどうかを保証するのは別の段階の話

クライアントで不正なデータを基に何をやってても
サーバサイドの情報と不整合なら不正が起こったと判断されて終わる

クライアントで預金を1億に増やしてもサーバでは元のママ
49デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:04:13.58ID:qEhozSMZd
>>47
一行目はその通り。でも違うケースだって考えららる。なら、それを考慮するのは当然のこと
二行目は質問者への答えてではない
最後についても一行目と同様
2017/10/09(月) 20:05:03.65ID:ywmo0VPNa
ブラウザに秘密鍵はないって前スレで言い張ってたけど
ブラウザは秘密鍵を持ってる
それとhttpsの認証局の仕組みを使ってそれで安全に通信できてる
51デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:09:33.18ID:qEhozSMZd
>>48
不正な使用をできることが問題になるケースもあるだろバカ
2017/10/09(月) 20:10:14.80ID:ywmo0VPNa
じゃあ秘密鍵を使わないで生活するんだな
ブラウザも使えないけどいいのか?
2017/10/09(月) 20:11:15.89ID:c41RoAYB0
>>51
>バカ

議論に不要な記述
54デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:11:59.38ID:qEhozSMZd
>>50
は?
話を理解出来ないバカ
その密鍵
2017/10/09(月) 20:12:37.98ID:ywmo0VPNa
>>51
そっちの理論通りならこちらはプログラムBとブログラムAの公開鍵をもってるじゃないかw

そっちの理論だと改ざんし放題だねw
2017/10/09(月) 20:12:46.77ID:c41RoAYB0
>>54
>は?
>話を理解出来ないバカ
>その密鍵

議論に不要な記述
2017/10/09(月) 20:13:23.30ID:ywmo0VPNa
55で終わり
勝利宣言
もうレスしないw
2017/10/09(月) 20:14:03.85ID:c41RoAYB0
>>57
>勝利宣言
>もうレスしないw

議論に不要な記述
59デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:14:35.77ID:qEhozSMZd
>>50
その秘密鍵云々は本来サーバーにありばき秘密鍵をブラウザが持ってるという例えて間違ってると言ってるんだけど理解出来ないのバカ
2017/10/09(月) 20:14:51.13ID:c41RoAYB0
>>59
>理解出来ないのバカ

議論に不要な記述
2017/10/09(月) 20:15:39.79ID:c41RoAYB0
>>59
typoレベルが高く若干議論に影響あり
2017/10/09(月) 20:16:52.71ID:c41RoAYB0
注意:
議論に勝ち負けはない
正解があるだけである
その正解に到達したら終了すること
2017/10/09(月) 20:17:52.25ID:A/ZdiVq5a
道で淫乱鍵見つけた
2017/10/09(月) 20:18:35.47ID:c41RoAYB0
>>63
>道で淫乱鍵見つけた

意味不明な記述
議論に不要
65デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:20:11.31ID:qEhozSMZd
>>55
はあ?頭悪すぎ
秘密鍵は外部にあって複合化は外部で行う意味も理解出来ないの??
2017/10/09(月) 20:21:17.11ID:c41RoAYB0
>>65
>はあ?頭悪すぎ

議論に不要な記述
67デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:21:25.58ID:qEhozSMZd
>>61
すみません
そこは適当なもので
68デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:26:38.12ID:qEhozSMZd
バカが逃げたようでスッキリした
2017/10/09(月) 20:27:41.15ID:c41RoAYB0
>>68
>バカが逃げたようでスッキリした

議論に不要な記述
2017/10/09(月) 20:28:14.08ID:KtpP5XlMM
公開鍵暗号方式の話題は荒らせると学習してしまったな
2017/10/09(月) 20:29:42.72ID:ywmo0VPNa
>>70
ぜひ彼には公開鍵秘密鍵を使わないで生活してもらいたい
2017/10/09(月) 20:47:52.74ID:Uib+y8KD0
さきほどXmlシリアライズについて質問したのですがシリアライズ可能なクラスはデフォルトコンストラクタとクラス変数のみのクラスという理解でいいでしょうか?
73デフォルトの名無しさん (アウアウカー Sa4d-gkqx)
垢版 |
2017/10/09(月) 20:53:36.34ID:4X7PKmK+a
C#で組んだごく一般的な業務ソフトで1万行ってボリューム的にどんなもんですか?
2017/10/09(月) 20:56:51.85ID:c41RoAYB0
>>73
その質問の目的について
2017/10/09(月) 21:00:48.75ID:Y4203ffV0
>>72
https://msdn.microsoft.com/ja-jp/library/bb552764(v=vs.120).aspx
このページの「次の項目は、XmLSerializer クラスを使用してシリアル化できます。」以下
2017/10/09(月) 21:18:26.29ID:ywmo0VPNa
>>72
関係ないけどjava, python, rubyなどにあるクラス変数はc#では静的フィールドというもので
宣言にstaticがついててクラス自体に付随するものでシリアライズの対象じゃないです

インスタンスごとにある変数はインスタンスフィールド
2017/10/09(月) 21:35:42.93ID:r14Jr9yHa
MSDNライブラリ、過去のバージョンのドキュメントが選択できなくなったり
2.0以前の古いバージョンのドキュメントがごっそり削除されたり、知らん間にいろいろ改悪されてるな

MSって本当いらんことするよね
2017/10/09(月) 21:42:56.57ID:Zzx1e3hO0
>>77
.NET Framework 1.1のMSDNも未だ見えてるけどね?
2017/10/09(月) 21:51:39.89ID:Zzx1e3hO0
>>73
一人で作れる小規模な業務アプリです。
2017/10/09(月) 21:53:55.76ID:r14Jr9yHa
2.0じゃなくて1.1以前か
たとえばちょっと前に話題になったこれとかなくなってる
https://webcache.googleusercontent.com/search?q=cache:WQiXtXkwbR0J:https://msdn.microsoft.com/ja-jp/aa691135(v%3Dvs.71)+&cd=1&hl=ja&ct=clnk&gl=jp&lr=lang_en%7Clang_ja

読みたきゃローカルにダウンロードして読めとさw
Win10で田ミ + F1押した時に近い怒りを感じるね
2017/10/09(月) 23:54:00.00ID:wnhU5HD50
>>49
それを言いたいなら「全てのケースに対応できる方式は存在しない」と主張しないと
初心者が完全な要求仕様を一発で提示するのは難しい
不完全な要求仕様が提示されたら、ある程度補って「これでやりたいこと満たせる?」って確認してみるのはよくあるパターン

もし「B側が改ざんしたデータを読み込ませるのを防ぎたいです」と言われたら署名を追加提案するし、「アプリが改ざんされると困る
というなら、耐タンパのハードウェアを用意するしかないんじゃないというし
82デフォルトの名無しさん (ワッチョイ fa27-lr6/)
垢版 |
2017/10/09(月) 23:57:41.08ID:wnhU5HD50
>>80
docsの方に整理して移動してるのかな
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/new-modifier
2017/10/10(火) 02:07:14.95ID:ILyTWDei0
TreeViewクラスだとGetNodeAt関数にマウスのx、y座標を渡せば対象のTreeNode返してきますが
TabControlにはGetなんとかで探してみましたが見つかりませんでした、そういった関数はないのでしょうか?
2017/10/10(火) 04:03:42.30ID:pliWVB3X0
どこの座標を指定した時に何を手に入れたいのか
タブ部分だけを指定してTabPageが手に入れば良いの?
2017/10/10(火) 09:18:54.04ID:MPxouh5p0
俺が公開鍵云々書いた後ここまで荒れたのか
スゲーな
休みなのに他にすることなかったのか?
2017/10/10(火) 18:09:11.73ID:DF0+rUlsd
公開鍵の中に、別の署名入れときゃ良いだけなのにな。
87デフォルトの名無しさん (ワッチョイ 41f9-qWqy)
垢版 |
2017/10/10(火) 19:00:46.52ID:86WPBtAo0
Format8bppIndexed形式のBMPファイルをpictureboxに読み込んで、
それをリネームして同じくFormat8bppIndexed形式のBMPファイルで保存したいのですが、
どのようにすればよいでしょうか。
PictureBox.ImageLocationプロパティではFormat8bppIndexed形式は蹴られてしまいます・・・

また、形式を変えてpictureboxに表示させることは出来たのですが、
それをまたFormat8bppIndexed形式に変換して保存するところでつまづいてしまいました。
2017/10/10(火) 20:03:58.53ID:ZqwUWY4/0
>>87
試してみた
>PictureBox.ImageLocationプロパティではFormat8bppIndexed形式
読み込める
そしてそのままPictureBox.Imageを保存(pictureBox1.Image.Save)するとインデックスカラーになった
元の画像のフォーマットが間違っているか特殊では?
別の画像で試してみろ
あとGDI+で24bpp/32bppにした画像はインデックスカラーに可逆で変換できないはず
自分でパレットテーブルと画素データ作らないといけない
2017/10/10(火) 22:26:46.18ID:ILyTWDei0
>>84
すいません
MouseDownイベントでどのクリックされたTabPageが欲しかったのです
結局自分でGetTabPageAt(int x, int y)をコピペして作りました
2017/10/10(火) 23:26:31.15ID:ZqwUWY4/0
>>89
タブ以外のところなら各ページのMouseDownイベントのsender
タブのところならTabControl.SelectedIndexChangedイベントでSelectedIndexかSelectedTab.Nameで取れる
そっちはx,yにしているから目的は違いそうだが
2017/10/11(水) 00:10:40.19ID:gF87iMQ50
>>90
ありがとうございます。TabControl上でどのタブの上でクリック、中クリックされたのかが知りたかったのです。
2017/10/11(水) 00:30:56.59ID:9Fj0rD7Ja
キーで変更されたときはなんもやらねぇの?
2017/10/11(水) 00:55:05.05ID:gF87iMQ50
はい、今のところ何もやりません
2017/10/11(水) 01:02:11.13ID:9Fj0rD7Ja
実現したいことを質問すればいいのにピンポイントでやり方だけ聞き続けるのがうまくねぇな
なんかあんまユーザーも望んでないようなことやってそう
2017/10/11(水) 03:10:21.57ID:gF87iMQ50
回りくどくなってしまってすみません
趣味で自分用に作っているアプリなのでユーザーは自分だけです
2017/10/11(水) 04:20:02.28ID:9Fj0rD7Ja
>>95
タブコンってタブのフォントをでかくするとバグるよね
2017/10/11(水) 15:07:03.75ID:jhF5UTXL0
>>88
わざわざ確認していただいてありがとうございます。
確認してみます。
2017/10/13(金) 19:23:27.95ID:9FeTZoAH0
入力する ???
もう1度入力する!!!
???と!!!の和は---
???と!!!の積は---
2017/10/14(土) 04:28:03.00ID:VMil0wNI0
TabControlとTabPageがあり、TabPageの中にWebBrowserコントロールがあるのですが、TabControlを触るとWebBrowserのフォーカスが外れてしまい
一度WebBrowserの中をクリックしないと動きません、マウスポインタがWebBrowser上にある場合クリックしなくても自動的にフォーカスを移したい場合どうすればいいでしょうか?
2017/10/14(土) 05:59:21.01ID:KJ0BKnta0
マウスポインタがWebBrowser上にあるかどうかを判定するコードと
フォーカスを移すコードを書けばいいんじゃね
しつけーよお前
2017/10/14(土) 06:08:08.12ID:NTbBehtoa
あーでもその動作はきっとやめておいたほうがええなー
使いやすいと思うやつおらへんで
2017/10/14(土) 11:06:25.42ID:+aeiapeN0
>>100
TabPage.Enterで(this.Activate()と)Tabpage.Focus()ですねw
>>101
同意するけど自分で使うだけらしいからw
>>99
>TabControlを触るとWebBrowserのフォーカスが外れて→TabControlを触ったあとでWebBrowserをFocus()
質問の時点で答え出ている気がする。Focus()は知っているだろうし
それよりもTabControl触っただけでTabPage上のコントロールのフォーカスは外れない
右クリックからコンテキストメニュー呼出しても別のタブでMouseDownイベント起こしても
WebBrowserが影響しているかもしれないが、それを調べないと対策しても後から別の問題が多分出てくる
103デフォルトの名無しさん (ワッチョイ 09b3-7vf9)
垢版 |
2017/10/14(土) 21:19:17.73ID:2Frxw1Uc0
visual studio for macを昨日から使い始めました
コンソールプロジェクト その他→.NETを選択してソリューションを作成しているのですが.NET内のクラスを呼ぶとエラーが出ます
using Systemの記述以外に必要なことがあれば教えていただきたいです
2017/10/14(土) 21:30:45.44ID:+aeiapeN0
>>103
何呼び出そうとしたのかくらい書いてほしい
まずそのクラスが入っているコンポーネントの参照設定が必要
https://msdn.microsoft.com/ja-jp/library/7314433t(v=vs.90).aspx
次にusingが記述されていないクラスを呼び出すには名前空間からの記述が必要。もしくはusing (名前空間);を追加
2017/10/14(土) 21:36:08.46ID:GRARGOD60
使い始めていきなり参照追加が必要になるとは思えないから、恐らくusingが足りないんだろ。
2017/10/14(土) 21:49:10.87ID:Gt2cFrms0
初心者って何でエラーメッセージ書かねーの?
107デフォルトの名無しさん (ワッチョイ 09b3-7vf9)
垢版 |
2017/10/14(土) 22:12:08.04ID:2Frxw1Uc0
>>104-106
参考書を読みつつ進めていて
DateTime today = DateTime.Today;でエラーが出ます
呼び出したいのは構造体でした
MSのリファレンスではこのように書かれています
名前空間: System
アセンブリ: mscorlib

レス書きながら参照の編集→アセンブリ弄っていたらエラー吐かなくなりました
もしかするとusing System;を書いていなかっただけかもしれません、申し訳ないです
エラーメッセージも今後は載せます
2017/10/15(日) 01:24:12.85ID:odpYqypi0
formのサイズに合わせて、
labelが拡大縮小するのってどうすればできますか?
2017/10/15(日) 01:47:44.60ID:6sAES7rzM
>>108
おれも手軽な方法知りたい。

面倒な方法としては、formサイズとlabelのフォントサイズに比例式作って判定させるメソッド作れば実装はできる。
2017/10/15(日) 01:57:09.23ID:7R5dQaZOa
>>108
煽り抜きで真面目な話、そういうのはまず要件を厳密に定義しないとね。
「formのサイズに合わせて、labelが拡大縮小」っていうのは曖昧だよね
2017/10/15(日) 02:12:32.32ID:odpYqypi0
>>109
ありがとうございます。
そういう機能があると思ってましたが、
簡単にはできないのですね。
2017/10/15(日) 02:13:46.76ID:odpYqypi0
>>110
画像の拡大縮小のような感じで、
フォームの大きさに合わせて、
ラベルの文字が大小するという感じです。
2017/10/15(日) 09:38:54.40ID:PeJpR27x0
>>112
WPF使えば良いんじゃないの?
2017/10/15(日) 10:17:34.83ID:xAZWROGI0
C#でpyplotみたいにフォーム作らなくてもお手軽にグラフ表示する方法ってないですか?
2017/10/15(日) 10:19:38.15ID:Tx63GDtfa
グラフコントロール的なのなかったっけ?
2017/10/15(日) 10:27:56.21ID:Tx63GDtfa
表示しないとdrowtobitmapきかねっけ?
2017/10/15(日) 16:04:17.23ID:64liGYG7M
ずっとグラフコントロール見てたけど
前だったら商用が一番おすすめだったけど
今はもうwebのフリーのコントロールに負けてるので金を払ってまで使う必要あるのかと思う
2017/10/15(日) 16:06:29.18ID:Tx63GDtfa
chartコントロール超綺麗じゃん
2017/10/15(日) 16:17:59.94ID:+yNynBs60
>>113
だよな。コントロール並べるだけじゃ満足できないならwpfやuwpに移行したほうが効率いい
もうオーナードローなんかやりたくないよ
2017/10/15(日) 16:21:03.11ID:Tx63GDtfa
>>119
フォントまで対応してたっけ?
今PCってフォント125%とかデフォルトで設定して売ってんじゃん
2017/10/15(日) 16:35:55.54ID:64liGYG7M
グラフって表示するだけじゃなくてインタラクティブなのものを求められたりするんで困る
2017/10/15(日) 16:46:42.46ID:+yNynBs60
>>120
拡大したいコントロールをViewBoxってコントロールで囲えば、何でも拡大縮小してくれる
2017/10/15(日) 16:57:11.91ID:Tx63GDtfa
>>122
フォントサイズやフォントの倍率変えても行ける?
2017/10/15(日) 17:11:04.42ID:64liGYG7M
使い勝手がいいかどうかは別だけど
スクロールバーありものも突っ込んだら悲しいことになる
2017/10/15(日) 17:17:55.44ID:Bo2AAy/J0
>>120
PCうんぬんはフォントじゃなくてスケーリングじゃないかな。
WPFは元々システムのDPIに依存しないから、スケーリング対応は簡単。
2017/10/15(日) 17:21:09.76ID:Tx63GDtfa
>>125
コントロールパネルの画面の
テキスト、アプリ、その他の項目のサイズを変更する
は影響受けない?
これが125%になってんだけど
2017/10/15(日) 17:24:10.76ID:q3I9S/toa
質問者に言っておくけど、要件を厳密に定義しないとこういう流れになっちゃう。

「formのサイズに合わせて、labelが拡大縮小」
「ォームの大きさに合わせて、ラベルの文字が大小するという感じ」

これどっちも曖昧だって。
要件っていうのは解釈や忖度や妄想の余地がないように厳密に定義しなきゃ
2017/10/15(日) 17:25:59.26ID:64liGYG7M
使ってみればいいよ
ViewBoxは使いどころが難しいと思う
マウス操作するものはなるべく突っ込まないほうがいいと思う
2017/10/15(日) 17:33:14.07ID:64liGYG7M
スペースが事前に決めてあってその中いっぱいに表示したいならviewbox
サイズを細かく指定したいなら向いていない
左右に二個並べてあって中身が違うにもかかわらず左右の表示を会わせたい→死
2017/10/15(日) 18:30:27.57ID:Bo2AAy/J0
>>126
それがスケーリングね。
スケーリングが125%になっているなら、ウィンドウ全体(コントロールも文字も)が125%に拡大された上で綺麗に表示してくれるよ。
2017/10/15(日) 19:26:58.15ID:boo3QsX80
>>127
実際に作るものはともかくここでの流れまで初心者に言っても
最初から要件を細かく定義できるのならググったほうが速いし
質問の仕方から見て>>109>>113で十分かと
>>108
WPFはわからないのでWinForm+>>109で仮に作るとこうなる(Labelだけ対応)
https://ideone.com/BWg19a
ここまでは簡単で破綻しないように調整しようとすると面倒。自分では使わないw
この段階でたぶん座標とサイズがintでフォントサイズがfloatのせいで最後の文字で時々失敗する
2017/10/15(日) 19:43:17.05ID:H5qn+0zu0
Windows10のOS寄りの話になっちゃうかもしれませんが、
タスクバーとかその上にくっ付いてるコントロールの透明化を一時的にでも止める方法あったら教えてください。
2017/10/15(日) 20:08:50.91ID:T+wcAuKm0
>>132
設定→個人設定→色→透明効果→オフ
と同じことをプログラムからやりたいってこと?
C#の範疇じゃないので、聞くならWinAPIスレかなぁ
2017/10/15(日) 20:14:55.96ID:Gr3hJnkQa
タイトルバーのこと?
2017/10/15(日) 20:32:23.95ID:+yNynBs60
UWPだと、画面のサイズに依ってフォントのサイズどころかコントロールのレイアウトから何から何まで変更することが可能です
VisualStateManagerとAdaptiveTriggerってのを使うんだが、ちょっと説明には骨が折れるから興味ある人はググってね

単純なものでも、この複雑さだからね
https://blog.naotaco.com/archives/840
2017/10/15(日) 21:09:13.78ID:H5qn+0zu0
>>133
そうです。スレ違いでしたね
透明の箇所はスタートメニューから全部無効化したいですね
急ぎじゃないんで適当に調べてみます
2017/10/15(日) 21:25:24.68ID:+yNynBs60
>>136
http://news.mynavi.jp/column/windows/385/
ここにレジストリの変更でできるって書いてあるが、後は頑張ってね
2017/10/16(月) 06:32:34.43ID:RQ+FBTWza
>>130
おお、大丈夫なのか
ありがとう
原因を分けて対応しないと駄目だな〜
2017/10/16(月) 08:01:21.51ID:ecMhS81Sp
二つの同じ長さの配列A,Bの末尾から5つを取り出してその全ての要素がA>BならTrueを返す

↑これってLINQでうまく書ける?
2017/10/16(月) 08:05:12.77ID:qSwuY79xa
>>139
友の会行けよ
明らかに初心者スレじゃねぇよ
2017/10/16(月) 09:40:47.13ID:Hv+h3c0cM
LINQの定義次第っていうか
LINQ to ObjectsならTakeLast拡張メソッドを自分で実装すればいける
2017/10/16(月) 09:50:04.77ID:dwD3mD07M
>>139
A.Reverse().Zip(B.Reverse(), (a, b) => new { a, b }).Take(5).All(ab => ab.a > ab.b)

>>141
十分初心者レベルだよ
自分がわからないからスレ違いってw
2017/10/16(月) 09:51:11.95ID:dwD3mD07M
すまん
わかると思うけど下のアンカは>>140の間違い
2017/10/16(月) 09:53:43.90ID:REWIMY/C0
なんで推敲する程度の余裕すらないんですかね…
寿命が近くて生き急いでるのかな?
2017/10/16(月) 10:01:59.84ID:qSwuY79xa
>>142
こんなコード見やすいと思ってる時点で頭がイカれてる
2017/10/16(月) 10:13:40.50ID:/cVIDSfR0
またLINQに親殺されたマンのスイッチ入ったな
2017/10/16(月) 10:15:02.52ID:VBGd717qM
逐次的に読むだけだから難しくはないと思うが…
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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