ふらっと C#,C♯,C#(初心者用) Part147
■ このスレッドは過去ログ倉庫に格納されています
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part146
https://mevius.5ch.net/test/read.cgi/tech/1576069931/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured 累乗であることを明確にできるんでMath.Powのほうがいいような気がするなあ。 あえてこじつけるなら仕様書通りの表現ができること
2乗の値をってなってるのが3乗の値に仕様変更された時差分で2が3に変わってる方がわかりやすい >>184
同じこと繰り返したくない。
変数名がクソ長くてよく似た名前のが存在してたらMathPowの方が安心できる。その程度だぜ。速度的なことは知らんけど。 実数ならMath.Pow使うけど整数ならx * xにするな double x = p1.X - p2.X, y = p1.Y - p2.Y;
var dist2 = x * x + y * y;
var dist2 = Pow(p1.X - p2.X, 2) + Pow(p1.Y - p2.Y, 2);
結論:べき乗演算子欲しい var Dist2 = Func<double, double, double> (dx, dy)=> {return dx*dx+dy*dy;};
var dist2 = Dist2(p1.X - p2.X, p1.Y - p2.Y);
あほだな
var Dist2 = Func<Point, Point, double> (p1, p2)=> {return Pow(p1.X - p2.X, 2) + Pow(p1.Y - p2.Y, 2);};
var dist2 = Dist2(p1, p2);
いまいちだな Point型にDistanceメソッドつけといてくれたらええのになあ System.Drawing Point Distance なし
System.Windows Point Distance なし
Xamarin.Forms Point Distance あり!!! 描画面上の距離が必要になるケースってあんまりないような気はするね。
直交座標上の点を表すstructがあってそっちに付いてるなら分からんでもない。
.NETのライブラリって数学の名前空間がないんだよな。
MathってSystem直下のstaticクラスになってて、今となっては疑問を感じる設計だよね DistanceよりsqrMagnitudeの方が多用する System.Numericsってなんだと思ってググったら、存在知らずにだいぶ前にこれと似たようなの(しかも劣化コピー)自作したぞ。
今ひどい黒歴史が出来たわ・・・・・ >>196
あるのかぁぁぁぁ!!!!!!
Xamarinてことはスマホアプリか。UI関係で使うんかな? XamarinがMSに買収される前からあるんだろ?
零細企業のアホ社員がまともなコードレビューも受けないままリリースしちゃったんだろうな WinForms で、MDI の場合、子フォームのメニューは親フォームにマージされるようですが、この動作を変更して、マージせずに子フォームのメニューバーの位置に直接メニューを表示することは可能でしょうか?
可能な場合、どうすればできますか? >>205
子フォームのそれぞれにメニューバーが欲しいってこと?
すごく邪魔そうだけど… >>207
そうです。
子フォームも親フォームと同様にタイトルバーの下に独自のメニューバーを持たせたい場合の話です。 >>208
SDIではなく、複数の子ウィンドウを作りたいのです。 >>206
読んだんですが、該当する箇所は無いようです。
有れば教えてください。 >>209
親のMenuStripのAllowMerge = falseだね
デフォでマージされないはずだと思ってたけど勘違いだった >>213
親Formの AllowMerge を falseにするということは、どんなMDIに対しても
影響が及ぼされてしまうんですね。
一部のMDI Chileだけは個別にメニュー付きで、他のMDI Childは、親のメニューにMerge、という具合には出来ないんですか。 そこまでこだわるなら floating menu 造って子ウィンドウに載せろ >>214
そういうヘンテコなUIはどうかと思うけど、
マージしたくない子のMenuStripのAllowMerge = falseでいけるみたい
っていうかこれぐらい自分で試そうよw >>211
MDI Child Frame(?)の子として中に別の Window を入れるのでしょうか? いくら初心者向けのスレッドっても少しは自分で試してみなよ コードを変更しても反映されない
いきなり原因不明のエラーが出ると思ったら
Form1.Designer.csの中で勝手にプロパティ初期化してた VS2019のメニューを見ていると、MFCと同様に、無効な項目は
グレイ表示されています。
MFCの場合は、Merge方式ではない代わりに、ActiveなChildWndが
ハンドラを実装していない場合には自動的にグレイ表示になっていたのですが、
WinFormsの場合は、どうやれば良いのでしょうか? >>220
1年前にも似たような質問があった気が。
MFCは知らないのであれだけど、多分MFCに近いやり方は用意されてないかと。
結果的に同じようなUIをなるべく簡単に実現するには、1年前にも書いたけど
MDI子に共通のメニューを持つFormをまず作って、
個々のMDI子はそれを継承するのがいいんじゃないかなあと >>221
それで、ハンドラを実装したくない継承クラスでは、その項目を disable にするという
わけですか。 そうそう。
継承後のフォームでもデザイナでコントロールのプロパティーの値を変更というか上書きできたはず
ついでに、MenuStripのVisible = falseにしておけば親にマージされている時以外メニューは表示されないみたい ビル・ゲイツが私財でコロナのワクチン作る。
c# プログラマに一番最初にワクチンを供給してくれるとおもう。
安全性の確認できないワクチンや薬品をc#プログラマにぶち込めば開発効率が上がる。
人体実験を断ったら、msdn、マイクロソフトid を停止させるとかして、Windows 利用不可にすればいい。
c#コンピューターオタクは断ると当面お金を稼げなくなるから喜んで実験に参加してもらえるはず。
まと、コンピューターオタクには人権はないので、実験により貴重な人命が損なわれることもない。 MSが作るワクチンなんてバグだらけになってそうでこわひ そんなミスされたらゲイツの顔がブルースクリーンになっちゃう >>224
先生そういう宗教的な分野はMacとかSwiftとかの方が適していると思います >>225
c# プログラマにベータ版ワクチンをインストールしてもらいデバッグするんですよ。
バグのないワクチンとソフトウェアはありません。
Macユーザーは完成後のワクチンは提供対象外。
だから、MacBook とかに Windows をインストールしてる人は、デバッグと実験の対象になりますが、完成したワクチンの提供は対象外となります。 visualstudioで
フォームアプリに追加したクラスライブラリにclass1.csとclass2,csがあるんですけど
class2の方にコントロールを継承してもツールボックスに表示されないのはなぜでしょうか
class1だと表示されました GoogleドライブにファイルをアップをしたくてGoogleの下のサンプルを
参考に動かしてみたのですが、全くアップできず何が悪いのかさっぱりです・・・
https://developers.google.com/drive/api/v3/quickstart/dotnet
https://developers.google.com/drive/api/v3/manage-uploads
以下がコードです。
https://dotnetfiddle.net/4z2iZ4
ファイルのリストは、取得できているので認証はできていると思うのですが
「var file = request.ResponseBody」の行で、fileがnullとなっており
次の行でエラーが発生しています。
どなかたお助けください。よろしくお願いいたします。 >>231
追加部分をビルドしてもツールボックスに表示されないのなら該当するVSのスレで聞いてくれ >>232
var driveService = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "MyApplicationName",
});
使ってない? あとは
var fileMetadata = new Google.Apis.Drive.v3.Data.File(){
Name="test.png",MimeType="image/png",};
にしてみるとか
他にはstreamがbinaryになってるかどうかとか
https://gist.github.com/LindaLawton/ead22e44bf88c3afa60753de0445eddf
この人もnullって言ってるな っていうか
DriveService.Scope.DriveReadonly
じゃだめな気がする >>235
すみません。そこ使っていません。コメントアウトしました。
51行目でDriveServiceを宣言しているので、そこでの宣言は不要でした。 >>237
>>238
出来ました!ありがとうございます!!
なるほど!一度作ったjson消さないと駄目なんですね。
本当にありがとうございました!! バルクコピーはdatatableだけに対応なのでしょうか?
ググってもジェネリックで使う記事が見当たらないので無理なのかなという気がしていますが SqlBulkCopyの話ならWriteToServerのオーバーロード見る限り
IDataReader頑張って実装すれば何とかなりそう ググればToDataReaderの拡張メソッドヒットするからそれ参考に実装すればいいんじゃね
俺社環でライブラリの拡張メソッド禁止されているから、IDataReaderで作ったけど >>243
知らない知識なので参考にさせて頂きます
しかしバルクコピーのメソッドがdatatableという古い技術で実装させる時点で、そもそもバルクコピー自体が古い技術で別の最新技術があるのかなと疑っております
色々な角度で調べてみるつもりです win10において
・ネットワークとインターネット設定→プロキシのセットアップスクリプトを使う設定のON/OFF切り替え
・ネットワーク接続のインターネットプロトコルバージョン4のプロパティの
IPアドレスを自動的に取得すると、次のIPアドレスを使うの切り替えと入力
DNSサーバー・・・と次のDNSサーバーのアドレスを使うの切り替えと入力
これをC#アプリで実現できますか?どのようなクラスを使えばいいでしょうか? レジストリいじれば設定変更できるやつだろ
ようはwin32だろ、それくらいまでは調べたよな? IPアドレスの変更の類はnetshコマンドをProcessクラスで使うのが一番手っ取り早いと思う 目的にもよるんだろうけど、PowerShellでスクリプト書く方が早そうな予感
完全にスレチになるけど 内部でPowerShellスクリプトを走らせるC#プログラムを作る 日本語を母国語としない人ほど
正しくない日本語で困るのです >>245
新規開発でdatatable使ってたらうわってなる あーそういや気付けばdapperばっか使ってたわ
あいえにゅめにゃんにゃんが便利やしなあ DBとは無関係に
動的列、フィルタ&ソートしたまま行追加、みたいなのが必要な時はDataTable使ってる DataTableでうわぁっってなるひとはJSONでくぇぇっってならんのまじで? Chartコントロールで横のスクロールバーを表示させる方法を教えてください。
サンプルプログラムは↓のをほぼそのまま使いました。( i < 5のところを i < 500に変えて数だけ増やしています)
チャートは普通に表示されるのですが、いろいろ探してもスクロールバーの出し方が全然わかりません。
https://qiita.com/Aki_mintproject/items/02e98173eb8eee74fc5b >>268
ここで言ってるのはモデルが自分自身の変更内容を保持する機能な
EFにもないよ
もちろんモデルに自分で作りこめば可能だけどな DatasetやTableのoriginalが取れたりrejectでロールパック出来たりするのは確かに便利 よぉ〜しよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよしよし if(条件A && !条件B){}
みたいなことをしたいのですが、&&と!をまとめてきれいに書く方法はありますか? var 条件C = 条件A && !条件B;
if(条件C){} クラスや関数にする
設計を見直す
あーりーりたーんを心がける if (foo.IsEnabled && !bar.IsEnabled) を
if (foo.IsEnabled && bar.IsDisabled) にすることはある
単語の頭につけるエクスクラメーションマークは
見落としやすいから可読性がやや低い
>>278のパターンで変数にすることはあんまりないけど関数化するのもよくやる >>277
おそらくそのまんまが一番きれいで見やすいぞ。
条件が長い式なら>>278みたいに一旦、適切な命名の変数に入れるのがいいと思う。 一発で書けるのかなと、すごく疑問に思ってたよ
ありがとう! 一発で書けた
if (b ? false : a) {...}
一発で書けた
if (!(!a || b)) {...}
一発で書けた
Func<bool, bool, bool> ippatu = (x, y) => x && !y;
if (ippatu(a, b)) {...} ■ このスレッドは過去ログ倉庫に格納されています