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

レス数が1000を超えています。これ以上書き込みはできません。
2021/12/13(月) 22:53:21.18ID:dhjmiKBp0
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part152
http://mevius.5ch.net/test/read.cgi/tech/1629888256/
■関連スレ
C#, C♯, C#相談室 Part94
http://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
https://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/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries/
https://referencesource.microsoft.com/
https://source.dot.net/
・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
2022/02/01(火) 19:55:39.20ID:x6m1XFOP0
>>897
一回目の呼び出しで
フォントの高さに合わせてtextBox1.Heightを設定する(小さくなる)
textBox1.Heightの高さに合わせてフォントの高さが変わる(小さくなる)

二回目の呼び出しで
フォントの高さに合わせてtextBox1.Heightを設定する(小さくなる)
textBox1.Heightの高さに合わせてフォントの高さが変わる(小さくなる)

というループだからでわ?
少なくともtextBox1.HeightはtextBox1.Font.Height より少し大きいはずだから
そのまま代入していくとどんどん小さくなるんだと思うわ
2022/02/02(水) 00:39:48.73ID:TKyxc9mCa
>>897
これで出来た
でも何か気付いてない問題がありそうw
private void textBox1_TextChanged(object sender, EventArgs e)
{
  var delta = textBox1.PreferredSize.Height - textBox1.Height;
  Height += delta;
  textBox1.Height += delta;
}
2022/02/02(水) 01:06:16.73ID:Xe1+J6sR0
TextChangedのイベントごとにHeight+=deltaの設計自体良くないとは思う

イベントごとにテキスト内容からHeightの再計算させるなら理解できるが
2022/02/02(水) 01:14:48.57ID:TKyxc9mCa
>>902
言いたいことは分からないでもないが、
恐らくセッター自身にプロパティーの値に変更がなければ何もせず戻る処理が
入っているはずなので考えすぎ。

実際問題動かしてみてそれに起因する問題があるようには見えない
904デフォルトの名無しさん (ワッチョイ 1e82-21ac)
垢版 |
2022/02/02(水) 09:11:06.71ID:RlffTed50
WinFormsのListViewで、仮想モード、LargeIcon表示にしたとき
Shift+マウスクリックでの項目の範囲選択がクリック位置より広く選択されてしまいます。

以下は2008年の古い情報ですがWindowsXPの不具合のため回避困難とあります。
https://social.msdn.microsoft.com/Forums/ja-JP/484c578a-df46-4624-a4e7-99ceaa0588ef/2020624819212701237512383listview12391389173044612398350792596836?forum=vsgeneralja

Windows10でも解消していないようなのですが、
検索しても有用な情報が見つからずどなたか回避できてる方いないでしょうか。
905デフォルトの名無しさん (ワッチョイ 5e66-vYAo)
垢版 |
2022/02/02(水) 09:12:35.95ID:4XyzPXmZ0
スクリーンロックを抑止したくてネットで調べて下のようなプログラムを書きました。

static async void Test(){
for(;;){
SendKeys.Send("Break");
await Task.Delay(10000);
}
}

目的は達成したのですが、Test()メソッドを終了するにはどう書けば良いでしょうか?
よろしくお願いします。
2022/02/02(水) 10:25:26.24ID:qrF7Vqa00
static bool _stopTest;


public void StartTest()
{
 _stopTest = false;
 Test();
}

public void StopTest()
{
 _stopTest = true;
}

static async void Test()
{
 while( !_stopTest )
 {
  SendKeys.Send("Break");
  await Task.Delay(10000);
 }
}

止めたいところでStopTestを呼ぶ
2022/02/02(水) 11:00:41.80ID:tkuApL0q0
CancellationToken使おう

private CancellationTokenSource cts = new CancellationTokenSource();
private Task task;

public void Start()
{
this.cts = new CancellationTokenSource();
this.task = Test( cts.Token );
}

public void Stop()
{
this.cts.Cancel();
this.task.Wait(); // 必要があれば
}

static async Task Test( CancellationToken ct )
{
while ( ! ct.IsCancellationRequested )
{
SendKeys.Send( "Break" );
try
{
await Task.Delay( 10000, ct );
}
catch ( TaskCanceledException )
{
}
}
}
908デフォルトの名無しさん (ワッチョイ b501-Y4FF)
垢版 |
2022/02/02(水) 12:33:54.15ID:2OSrRGw90
>>842
>> c# + visual studioでデータブレークポイント使えますか?

これひょっとして使えな
909デフォルトの名無しさん (ワッチョイ b501-Y4FF)
垢版 |
2022/02/02(水) 12:47:34.78ID:2OSrRGw90
c#でAddressSanitizerみたいなツールはありますか?

>>これひょっとして使えな

これは「これひょっとして使えないのでは?」です
2022/02/02(水) 12:49:24.20ID:5pRqnuwX0
>>908
https://docs.microsoft.com/ja-jp/visualstudio/debugger/using-breakpoints?view=vs-2022#set-data-breakpoints-net-core-3x-or-net-5
911デフォルトの名無しさん (アウアウウー Sa21-MO11)
垢版 |
2022/02/02(水) 15:01:03.10ID:MolDdSgsa
https://stackoverflow.com/questions/209281/c-sharp-equivalent-to-javas-wait-and-notify

l

foo.notify() => Monitor.Pulse(foo)
foo.notifyAll() => Monitor.PulseAll(foo)
foo.wait() => Monitor.Wait(foo)
912デフォルトの名無しさん (アウアウウー Sa21-MO11)
垢版 |
2022/02/02(水) 15:06:00.81ID:MolDdSgsa
>>907だと、クリティカルタスクの最中に例外が起きたら壊れそうだなw
>>906は、Pulseが抜けてる
913デフォルトの名無しさん (ワッチョイ 3abd-IClH)
垢版 |
2022/02/02(水) 22:04:43.57ID:GVJKCJUY0
ピクチャーボックスに直線を実寸(o)で引きたいんですけど、どうすればよいですか?
2022/02/02(水) 22:13:43.42ID:NhKBMVet0
GraphicsオブジェクトのPageUnitプロパティを変更する
2022/02/02(水) 22:49:06.74ID:p1re6OTba
>>913
GDI+はたぶん常にdpiを96dpiと仮定しているので
モニターのdpiが96dpiなら>>914で上手く行くがそれ以外の場合は
自分でページ変換を設定しないとだめだと思うよ
2022/02/02(水) 23:21:53.08ID:vNzv2HbB0
GDI+のDPIは可変だよ 印刷にも使うんだから
描画先がモニタの場合WindowsのDPI設定に依存して変わる
例えば125%なら120dpiだな
まあDPI設定に従うだけでモニタのDPIは恐らく別だからモニタ上で正しく表現できるわけではないけど
2022/02/02(水) 23:29:58.32ID:30BhQoQ30
>>916
それってやっぱりモニターの解像度は96dpi固定ってことだろ
32インチ4Kスケーリング100%なら138dpiが取得できる方法を示さないと
2022/02/02(水) 23:31:34.80ID:p1re6OTba
>>916
印刷時に物理単位(mmやインチ)を選択できるのは
プリンタの場合はdpiを報告する仕組みが最初から確立してるからで
ディスプレーの場合は残念ながらそうじゃないんでいろいろややこしいよw
2022/02/03(木) 09:28:12.33ID:Nd7AcXHS0
質問させてください。
起動すると適当な番号でhttpポートを開くアプリがあります(仮にaaaa.exe)
このaaaa.exeのパスが分っている状態で、アプリが使用しているポート番号を取得したいのですが、どのように処理したら良いでしょうか?
2022/02/03(木) 09:46:56.82ID:X/mng9aEM
>>919
netstat
2022/02/03(木) 13:48:25.19ID:EdZmqiFt0
>>919
対象プロセスのプロセスIDを取得してGetExtendedTcpTable/GetExtendedUdpTableで取得できるデータと突き合わせる
2022/02/03(木) 14:20:51.83ID:Nd7AcXHS0
>>920
>>921
ありがとう。今日の夜試してみる。
2022/02/03(木) 15:09:05.58ID:1AlNHnvf0
いえいえ
924デフォルトの名無しさん (ワッチョイ 5ee9-Y4FF)
垢版 |
2022/02/04(金) 07:20:32.62ID:34mLDZGV0
スクリーンロック抑止の者ですが、遅れながらメカニズムを理解できました!
ありがとうございます!
SendKeysで"Break"を定期的に押すと文章書いてる時に
ガッツリ消えるので、何のキーが良いかは探求したいと思います。
925デフォルトの名無しさん (ワッチョイ b501-Y6bJ)
垢版 |
2022/02/04(金) 07:42:03.31ID:QVbyni0c0
似たようなソフト作ったことあるけど、キーを押下するよりマウスを現在位置から現在位置に移動するほうが普通に使ってるときの影響なくていいよ
926デフォルトの名無しさん (ワッチョイ 5ee9-Cnlt)
垢版 |
2022/02/04(金) 17:23:13.30ID:34mLDZGV0
>似たようなソフト作ったことあるけど、キーを押下するよりマウスを現在位置から現在位置に移動するほうが普通に使ってるときの影響なくていいよ

キーインする限り、どんなに使わないキーでも影響は避けられないと気が付きました。
マウス操作をトライしたいと思います。ありがとうございます。
2022/02/04(金) 21:42:43.56ID:+ZxkHXQpd
画面ロックというのが具体的になんなのかだけど
Windowsシステムのスリープとか退席モードのことならAPIで抑制した方がいいのでは
2022/02/05(土) 15:50:35.16ID:qLntA6C8M
powertoysのawakeでいいだろ
2022/02/05(土) 16:19:11.63ID:yLNqj27S0
>>928
それはどうやって実装してるの?
2022/02/05(土) 23:38:56.22ID:x0YbOETD0
そりゃSetThreadExecutionState呼んでるやろなあ
2022/02/06(日) 00:11:20.36ID:66j2bw9/0
あとはキーボードフックでWin+Lを握りつぶせるかだな
2022/02/06(日) 04:20:06.01ID:D8jWL7f30
Win+Lとかまで対応する気ならOSの設定いじった方がいいのでは
https://i-bitzedge.com/tips/how-to-lock-screen-enable-or-disable-on-windows-10
933デフォルトの名無しさん (ワッチョイ bf66-2cIz)
垢版 |
2022/02/07(月) 12:45:48.73ID:eA8tvD7r0
>Windowsシステムのスリープとか退席モードのことならAPIで抑制した方がいいのでは

SetThreadExecutionStateを使うことでやりたい事がダイレクトに出来ました。
ありがとうございます!

キーイン、マウスカーソルぷるぷるも、非同期処理の使い方を知れたので、
実り多かったと感謝しております。
2022/02/07(月) 21:03:15.86ID:yNoTcSOm0
質問させてください
EntityFrameworkを使用して自PC内(localhost)のPostgreSQLを操作しています
普段正常に参照や更新といった処理は出来ているのですが、極々まれにデータベースとの接続がタイムアウトするケースがあります
データベースのログにもエラー等が無く、なぜタイムアウトになるのか根本の原因が掴めていないのですが、試しにタイムアウト設定の秒数を伸ばしている状態です

お聞きしたい事は、EFは接続に失敗した場合、タイムアウトの秒数になるまで何度もリトライしているのでしょうか?
また、失敗したクエリを再試行する事は可能なのでしょうか?

直接C#とは関係のない質問かもしれませんが、アドバイス頂きたいです
2022/02/07(月) 22:00:16.47ID:kx+AzsPB0
ほんとにタイムアウトなのかい?
どこか閉じ忘れて接続数上限まで使い切ってるとかは?
2022/02/07(月) 22:46:47.42ID:0I88UVsz0
PostgreSQLだと割とあるみたいね、接続数の上限というの
2022/02/08(火) 04:32:53.12ID:fYph1ArX0
>>935
ありがとうございます
接続する際はusingブロックで囲って使用しているので解放漏れは大丈夫だと思ってはいます…
(こういう接続の仕方です:https://qiita.com/Nossa/items/b6d84aeb134abc85f027)

接続数に関してもpg_stat_activityを使用すると、タイムアウト発生時は見れていないのですが、正常時は15程度でした(デフォルトはMax100)
2022/02/08(火) 07:37:47.00ID:2OtTL/zKM
ログに出すようにしたの?
2022/02/08(火) 09:23:52.16ID:Ki5uCpbuM
>>938
System.TimeoutExceptionとSystem.Data.Entity.Core.EntityExceptionが発生している事は確認出来ました。
ただ、例外処理を書いていなかったので「ハンドルされていない例外が発生しました」以上の情報は得られませんでした…

これらを調べても接続文字列が正しいか確認をするなどの記載が多いのですが、基本的に処理が正常に行われているのでここは問題ないのではかと考えてます…
2022/02/08(火) 12:22:11.88ID:MACKR5LXd
接続上限を疑って再現を目指すなら接続数をデフォルトから100→10に変えてもいいと思う

ありうるシナリオは接続上限→接続空き待ち→待っても開かないからタイムアウト
2022/02/08(火) 12:30:36.89ID:QQmTWHSUM
>>934に便乗して
NpgsqlでDB接続するコンソールアプリを1分おきに起動するタスクがあるんだけど、
それなりの頻度でStsyem.TimeoutExceptionで接続失敗しちゃう
どこに問題があると疑うべきなのかなあ

と思っていまログを確認したら
半年くらい前までは2〜3日に1回(=1/1000〜1/5000位の確率)でTimeoutしてたのが
最近だと月1回くらいしか起こらなくなってた・・・
環境というかPostgreSQLサーバの負荷等の問題だったのかな・・・・・・?
2022/02/08(火) 12:38:00.12ID:Vznqt3iZa
同時に書き込アクセスできず待たされるのはよくある
書き込んでる奴が時間かかってたらタイムアウト
プログラミング分かりやすくするなら、DBアクセスは排他処理して同時に複数接続しない。それで失敗はなくなるだろ
2022/02/08(火) 12:44:07.19ID:m2Ico1fWM
>>939
TimeoutExceptionのエラーメッセージに何をした時にタイムアウトが発生したのかが書いてあるから
まずそれを確認したら?
2022/02/08(火) 12:59:02.44ID:nLjBt9+k0
一概にタイムアウトと言っても、「接続タイムアウト」と「コマンドタイムアウト」があるからどっちが発生しているかをよく確認しないとね。
接続文字列のTimeout、CommandTimeout
(もしくはコード上でef経由で個別設定しているとか)

>>939
npgsqlが吐いてる例外をInnerExceptionで見れません?
2022/02/08(火) 14:08:23.98ID:TsBQQX8fM
- 詳細エラーメッセージ
- npgsqlとpostgresのバージョン
- 再現コード
この3点セットがあれば誰か調べてくれるよ
.NETやOSの情報もあればなお良い
2022/02/08(火) 14:33:47.63ID:Ki5uCpbuM
>>940
ありがとうございます
なるほど、確かに下げてみれば再現が出来るかもしれません
早速試してみます
これで同じエラーが出てくれれば良いのですが…


>>944
タイムアウト設定に関して、Timeout、CommandTimeout共にデフォルトで運用していました
現在試しにそれぞれ60に伸ばしています
InnerExceptionは例外の詳細ですよね?
お恥ずかしい話ですが、例外処理を書いていなかったため、今回このエラーが分かったのもwindowsのイベントビューアで発見しました
急遽例外処理を入れたのですが、エラーが再現せず…
2022/02/08(火) 14:42:17.36ID:Ki5uCpbuM
>>945
ありがとうございます

現在分かるエラー内容
@System.TimeoutException
ASystem.Data.Entity.Core.EntityException

各種バージョン
Npgsql:ver.4.1.3.0(ランタイムver.v4.0.30319)
PostgreSQL:PostgreSQL 13.3, compiled by Visual C++ build 1914, 64-bit
.NetFramework:4.6.1
OS:Windows10pro

エラー発生箇所コード

static void GetStartProcessTime()
{
using (var context = new DbContext())
{
var processingTimeTable = context.CheckprocessingTimeTable.First(x => x.id== 1);
processingTimeTable.CreateDate = DateTime.Now;

context.SaveChanges();
}
}
2022/02/08(火) 15:07:00.89ID:Ki5uCpbuM
>>947
すいません言葉足らずでした
エラーはその2つの例外情報は分かるのですが説明は「ハンドルされない例外のため、プロセスが中止されました。」となっており、それ以外はエラーに至るまでの内部的な関数?が呼ばれた場所が記載されている状態です
その呼ばれた場所の最後が、エラー発生箇所コードとして記載させて頂いた部分です
2022/02/08(火) 15:35:11.95ID:4pbgYgTcM
>>856
これをありがたいと思うのは変な人
分からないでありがたがってる

>>870が正解
2022/02/08(火) 15:42:07.62ID:2+2aacXwr
まずは作成日みたいなフィールドを後で更新するなと。
2022/02/08(火) 18:40:08.93ID:11RalhgJ0
>>947
これ同じ処理が複数同時に走る?

複数同時に走る場合でread committedならデッドロックになるケースじゃない?
それが原因かどうかはわからないけどlog_lock_waitsがoffならonにしてしておくといいかも
2022/02/08(火) 18:50:37.00ID:u9WL3yPq0
>>949
ちゃんとチェックするとこに行ったら全弾被弾して
○○さんって大したことないよねって評価をいただくわけですね
2022/02/08(火) 18:53:19.11ID:u9WL3yPq0
スタイリッシュなつもりでいるようだけど自分の処理の状態も把握できないもん作って悦に浸ってるのがダセェ
お前がよく見るのはあくまでサンプルだからな
2022/02/08(火) 20:10:07.63ID:pmS2YoNl0
>>951
デッドロックやDB上のロックタイムアウトなら、普通はDBサーバ上で確認できるだろ
まず何がエラーになったのかちゃんと確認すべきじゃね

DB側で何の(接続要求すらの)感知もできてないなら、おれならまずはネットワーク系の問題を疑うがな
ソケットの枯渇とか名前解決の不具合とかファイアウォール関係とか、その辺があやしい
2022/02/08(火) 20:26:14.86ID:fYph1ArX0
>>951
ありがとうございます
このGetStartProcessTimeが複数の箇所で同時に呼ばれる事はありません
教えて頂いた設定等は私の知識不足で全然触れたことがないので一度調べてみます

>>954
ありがとうございます
postgresのログも見てみましたが、タイムアウト発生時にはエラーや何らかの処理をしているログ自体ありませんでした
データベースがEntityFrameworkから接続を要求されているというのは後からでも見ることが出来るのでしょうか?
2022/02/08(火) 21:45:24.55ID:11RalhgJ0
>>954
>まず何がエラーになったのかちゃんと確認すべきじゃね
そりゃそうよ
ただ本当に詳細が確認できない状態で再現もできないのなら
次に発生した時に情報を取れるようにしておくのは重要

DB側のログで何が確認できるかは設定次第
https://www.postgresql.org/docs/current/runtime-config-logging.html
2022/02/08(火) 22:06:08.66ID:u9WL3yPq0
そもそもタイムアウトが起きるぐらいの処理時間かかってるの?
2022/02/08(火) 22:25:24.63ID:RReR8OJiM
>>952
c#のwindows環境でシングルコアで動くか?ってやってるところどこにあるんだよ
脳みそ何のために使ってんだ?
2022/02/08(火) 22:34:34.58ID:11RalhgJ0
>>955
自PC内ってことだったからnpgsqlのtraceレベルのログも仕掛けといたら?

NpgsqlLogManager.Provider = new ConsoleLoggingProvider(NpgsqlLogLevel.Trace, true, true);
https://www.npgsql.org/doc/diagnostics/logging.html
2022/02/08(火) 22:47:06.84ID:fYph1ArX0
>>957
各クエリの時間を測った事は無いのですが、アプリケーション自体の一連の処理が0.5〜0.7秒程度で終わっているので、今回のDBへの接続がタイムアウトになるほど長くかかる事は通常は無いと考えています…


テンプレートにあったサイトを使ってエラーを記載してみました
上手く出来ているか分かりませんが、以下が現在確認出来ているエラー内容です

https://ideone.com/rIerhm
2022/02/08(火) 22:48:14.55ID:u9WL3yPq0
>>958
っていうかそういう自分の思い込みでしか物事を判断できないから
バグまみれのスレッド立てても気にもならないんだろうな

シングルコアで動かしたログがあればマルチコアで並列で動作してるか
どうかチェックになんだろ
得にオメーのはどうせ並列でなんか動いてねぇからシングルでもマルチでもログかわんねーだろw
2022/02/08(火) 23:01:38.91ID:RReR8OJiM
>>961
シングルコアが分からないなら口出ししなければいいのに
2022/02/08(火) 23:07:43.01ID:RReR8OJiM
あなたの会社ではどのシングルコアCPUを搭載したwindowsPCでスレッドの動作確認を行っているんですか?
そんなことしてる会社などないだろ
2022/02/08(火) 23:18:00.69ID:NUxQNPK7a
初代ラズパイ+monoかな
脳みそ何のために使ってんだ? ← 妄想
2022/02/08(火) 23:18:39.86ID:QQmTWHSUM
>>963
わざわざ相手するなよ
その人ろくに有益なこと言えないのにひたすらマウント取ろうと粘着するから
無駄にレス流れて迷惑なんだよ
2022/02/09(水) 02:29:49.81ID:6+/OHix60
脳みそはマルチコアでも容量が1bitしかないようだなハハハ
2022/02/09(水) 03:04:14.67ID:w+huDBHz0
またシングルスレッドおじさん帰ってきたのか
968デフォルトの名無しさん (ワッチョイ 17e5-2zGl)
垢版 |
2022/02/09(水) 10:25:30.10ID:FQOg5JO/0
Windowsフォームのプログラムをタブレットでも使いたいという要望があったのですが
comboboxのスクロールバーを大きくすることはWindowsフォームで出来るでしょうか?
というかタブレットかつ高解像度のPCが出てくると
いよいよWindowsフォームがキツくなってきた気がします。
2022/02/09(水) 10:27:52.18ID:tI59uOap0
>>968
プロパティでどうこうみたいなお手軽な方法は無くって、カスタムコントロールを作るとかしないとダメだった気がする
2022/02/09(水) 11:46:02.13ID:kunTT2/DM
OwnerDrawは全てを解決します
2022/02/09(水) 13:55:19.52ID:nVoy06Fa0
つーかAndroidタブのコンボボックスにスクロールバーなんかないよね
指で操作するためのUIに変える必要があるってことよね
オーナードローなんかで解決するかな
972デフォルトの名無しさん (ワッチョイ 17e5-2zGl)
垢版 |
2022/02/09(水) 14:17:49.58ID:P+Dycpf60
>指で操作するためのUIに変える必要があるってことよね
フォームアプリがタッチパネルに反応するだけでも御の字と思っている状況なので、
出来るなら是非とも欲しい動作です。
973デフォルトの名無しさん (ワッチョイ 17e5-2zGl)
垢版 |
2022/02/09(水) 14:17:49.99ID:P+Dycpf60
>指で操作するためのUIに変える必要があるってことよね
フォームアプリがタッチパネルに反応するだけでも御の字と思っている状況なので、
出来るなら是非とも欲しい動作です。
2022/02/09(水) 14:19:08.14ID:5WmGk4RQ0
スクロールバーを出ないぐらいコンボボックスの範囲を大きくしておけばいいのでは?
オーナードローとかしだしたら大変だからやらない方が身のためかもしれない
2022/02/09(水) 14:35:48.89ID:gJYxYm5Ia
コピペで一発とはいかないけどこれでできるな
スクロールバー二重になったりちょっとおかしいとこ変えるだけだからすぐだろ
https://www.codeproject.com/Questions/552065/Customizepluswindowsplusscrollplusbarplusinpluscom
2022/02/09(水) 15:24:21.38ID:lp//LDU1a
WPFのコンボもフリックしてタップで止めるとかできないんだっけ?

まあWPFの方が不十分とはいえ一応タッチパネル系のイベントに対応してるんで
できるならWPFで作り直した方がいいんだろうねたぶん
2022/02/09(水) 16:41:51.90ID:iS0fYVVpa
>>975
これできないな。メッセージ飛ばせば終わりだろと思ったけどまったくだった
2022/02/09(水) 21:31:08.51ID:nVoy06Fa0
コンボボックスやめてパネルにでかいボタンを並べてスクロールさせるかリストボックスだな
そうなるとやっぱオーナードローか
2022/02/09(水) 22:39:05.34ID:HRI/vJyh0
.Net6.0にしようとしたらSJIS削られてて焦った
2022/02/09(水) 22:43:02.03ID:1A90hyai0
>>979
まじかよ、俺社一生使えないじゃん・・・
2022/02/09(水) 23:04:40.19ID:7kRrx8rI0
EXCEL用のCSV出力できなくなるの?
2022/02/09(水) 23:05:53.89ID:a7Kiiaid0
>>980
次スレよろぴく
2022/02/09(水) 23:06:30.96ID:gW34M8HF0
それは BOM を付けたげたら済む話じゃないの?
2022/02/09(水) 23:12:22.58ID:iS0fYVVpa
CodePageEncodingProvider.Instance.GetEncoding("shift-jis")
こんな感じで取得できたはず
2022/02/09(水) 23:14:43.66ID:1A90hyai0
>>982
はい次スレ

ふらっと C#,C♯,C#(初心者用) Part154
https://mevius.5ch.net/test/read.cgi/tech/1644416019/
2022/02/09(水) 23:25:51.66ID:FxI6XKVTM
CP932とshift-jisは実は別物と2chブラウザを作ったときに理解した
大体20年近く前の話
2022/02/10(木) 00:27:38.90ID:WTxAQl/h0
>>981
UnicodeのTSVで出せばいい
2022/02/10(木) 04:11:44.10ID:Bfsj9FyQ0
会社で新しくC++MFCからC#に移行しそうなのですが、結構違いますか?
2022/02/10(木) 04:41:11.49ID:8GgErYEHa
むしろ共通点はほぼないと思いますよ。
UIにWindows Formを使うならWin32の知識が無駄にはならない程度
2022/02/10(木) 04:51:25.43ID:nU5m13/Jd
>>988
MFCのDocument/View構造とWPFのMVVMは考え方がほんのちょっと似てるかも
2022/02/10(木) 05:16:17.86ID:Bfsj9FyQ0
ありがとうございます
やっぱり違うところもそれなりにあるんですね
本格以降の前に勉強しないと…
2022/02/10(木) 09:10:07.63ID:0HR3aWgk0
フレームワークのバージョンに右往左往
993デフォルトの名無しさん (アウアウウー Sa9b-nGJX)
垢版 |
2022/02/10(木) 18:20:37.30ID:hh6EUNrwa
Javaと同じ人が作っただけあって
Javaのが似てると思います
2022/02/10(木) 19:31:29.55ID:G6G2NR290
MFCとC#のWPFなら基本的にまるで別物だよなぁ
WinFormsも別物だけど、C++よりはC#の方が簡単だと思うけど
ラムダ式やらその辺の書き方に付いていけない奴は結構いるらしい
staticおじさんにはC#は辛いかも知れないw
2022/02/10(木) 19:33:58.19ID:vwYTLp7Ia
JAVAじゃなくてDelphiでしょw
JAVAやC++はむしろ反面教師として否定的継承をしてるのがC#
2022/02/10(木) 19:37:23.72ID:vwYTLp7Ia
MFCのカオスに耐えられた人がC#は理解できないとかないと思うよw
ラムダ式なんてむしろC++やってた人には馴染みやすいでしょ
2022/02/10(木) 19:57:50.08ID:y+gM+mODa
mfcを初めて触ったときはなんて簡単にwindowsアプリが作れるんだって感動したものだけど、c#はそれより数十倍簡単だからな
mfcとc#はまったく違うけど、mfcできるなら一瞬で使えるようになるよ
2022/02/10(木) 21:50:11.16ID:Wm6mdcT10
MFC今も現役なの?
2022/02/10(木) 22:05:49.13ID:WTxAQl/h0
今のC++はラムダ式も型推論もあるもんね
2022/02/10(木) 22:41:54.23ID:VfTItntg0
拡張子がcppってだけのC言語使い方だときついでしょ
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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