[過去ログ] ふらっと C#,C♯,C#(初心者用) Part154 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
201: (ワッチョイ 9d54-42Eo) 2022/03/14(月)14:06 ID:fKAVqTeN0(1) AAS
WebView2 以前ちょっと使ったけど、ページ表示前の初期化が毎回遅かったような記憶がある。
記憶違いかもしれないけど。
202: (アウアウウー Sac5-I38D) 2022/03/14(月)14:24 ID:XtxfFNUva(2/2) AAS
コンストラクタでurl代入できりゃいいのに、その頃はまだ内部での初期化が終わってないからできないな
203: (オッペケ Sr91-fCgU) 2022/03/14(月)14:55 ID:akZZG4oSr(1) AAS
Webは戻る進むがあるからしっかりステート管理しないとしぬ
204(1): (ワッチョイ 12bd-eKgF) 2022/03/14(月)21:53 ID:3nbBdTge0(1) AAS
簡単な図形データをdxfファイルにしてみたいんですけど、どこか参考になるサイトないですか?
幅500?✖長さ1000?の長方形枠内に円とか長方形とかそんな感じのもので、レイヤーとか線種とかとくなく実線のみで表現したいんですけど。
205: (ワッチョイ 3d78-9pEf) 2022/03/14(月)22:00 ID:Wh2n8FEC0(1) AAS
外部リンク:www.codeproject.com
206: (アウアウウー Sac5-I38D) 2022/03/14(月)23:03 ID:rbCSOV+9a(1) AAS
dxfを読みたいっていうとバイナリだ3dだ色だなんだって色々なパターンあるから大変だけど
dxfを書き出したいってだけなら難しいこと考えずに適当に「dxf ファイル仕様」とかぐぐって調べたらいいよ
207: (スプッッ Sda2-eKgF) 2022/03/15(火)06:37 ID:Hxz/HcaZd(1) AAS
ありがとうございます!
208: (ワッチョイ f1ac-aQ/O) 2022/03/15(火)07:49 ID:FHh5bEnc0(1) AAS
いえいえ
209(2): (スップ Sda2-/hws) 2022/03/16(水)17:05 ID:KL1RQagld(1) AAS
formsでスケーリング変えると部品の位置がズレたりするんだけど、
是正する定番の方法あったら教えてたもれ
210: (ワッチョイ 7ea7-cs1e) 2022/03/16(水)17:51 ID:sDB+P2C+0(1) AAS
>>209
フォームのサイズが変更されたとき?
サイズ変更についてなら「サイズが変更された」ときのイベント内で再計算するか、Panel系クラスを利用して表示するかだと思う
フォームの大きさを小さくしたら下に回り込むようなやつならFlowLayoutPanelで、HTMLでいうテーブルならTableLayoutPanelとか
Panel系にDockをFillにしたりすれば再計算はプログラムがやってくれる
211: (ワッチョイ b901-SA89) 2022/03/16(水)18:39 ID:3Hj+1jHn0(1) AAS
スケーリング変えた時、だろ
212(1): (ワッチョイ 8279-Peks) 2022/03/16(水)18:55 ID:IT+0ZBM10(1/2) AAS
>>209 ですが、
色気を出して最初にSetProcessDPIAware()を呼んでたので、これ呼ぶのをやめたらズレは直りました。
これはフォントがボヤンとするいわゆるDPI仮想化状態ですね。
ただこれだと座標取得関係に難ありだったと記憶してるので、
SetProcessDPIAware()を呼び出しつつ、
form1.AutoScaleMode = AutoScaleMode.Dpi;
にするとコントロールのズレは収まりました。フォントの大きさの再調整は必要ですがこれが良さそうです。
一旦問題を整理してみます。
213: (ワッチョイ 012d-8qwV) 2022/03/16(水)19:24 ID:gx2+2oye0(1) AAS
>>212
スケーリングに対応する場合は、フォントはBMPを含まないメイリオやYu Gothic UI等を使うと良いよ
214: (ワッチョイ e979-s6It) 2022/03/16(水)19:46 ID:qedjxSBq0(1) AAS
グリッドレイアウト
でググると参考になるかもしれん
もちろんGuiがおおっぴらにサポートしているわけではないが
どうしたいかの参考になると思う
215: (ワッチョイ 8279-Peks) 2022/03/16(水)21:22 ID:IT+0ZBM10(2/2) AAS
コントロールのフォントを自動調節するやつできたんでとりあえず解決しました。
void AutoFitFontControl(Control ctl, string fontname, int maxpoint) {
var g = System.Drawing.Graphics.FromHwnd(ctl.Handle);
var point = maxpoint;
for (;;) {
SizeF sf = g.MeasureString(ctl.Text, new Font(fontname, point));
if (ctl.Width < (int)(sf.Width) || ctl.Height < (int)(sf.Height)) {
point -= 2;
} else {
break;
}
}
ctl.Font = new Font(fontname, point);
}
216(1): (ワッチョイ 6936-dw4a) 2022/03/17(木)09:57 ID:8n4FcalY0(1/3) AAS
C#勉強中で分からない点があるので質問です
テキストボックスをデータバインドしていてViewModel側はstringでSetPropertyで双方向としていて
テキストボックスでキー入力されてもコード上でstringの値を代入等で変えても画面に表示されている値と内部で保持している値が一致するようにしています
これをstringから独自のクラス、例えば電話番号クラスとかにするとテキストボックスにキー入力しても内部で保持している値に書き換わってしまうのですがこれって何に原因があるのでしょうか?
View側の処理
TelephoneTextBox.DataBindings.Add("Text", viewModel, nameof(ViewModel.Telephone));
ViewModel側の処理
public TelephoneValue Telephone
{
get => _telephone;
set => SetProperty(ref _telephone, value);
}
TelephoneValueは内部にstringを持っていてToString()でstringを返しています
217(1): (スプッッ Sd01-nn6q) 2022/03/17(木)12:22 ID:Mvnns9V0d(1) AAS
>>216
あなたがどっかで定義したTelephoneValue型はxamlが理解できるものじゃない
TelephoneValueを1引数のstringで構築できるかもしれんがそんなことは知ったこっちゃない
(Converterを自作すればなんとかなるかもしれんが)
218: (スプッッ Sd02-nn6q) 2022/03/17(木)12:37 ID:0cmWCmO7d(1) AAS
おそらくXaml側でBindingエラーが出てる
アプリが落ちるわけじゃないから気付きにくいが
Visual Studio環境なら出力ウインドウとバインディングエラーのウインドウにエラーメッセージが出てるはず
219: (テテンテンテン MMe6-rsxS) 2022/03/17(木)13:52 ID:i4B2mw3zM(1) AAS
すいません使ってるのはWFPでは無いです
formで書いてます
ただ>>217が言ってるようにそうなる理由はset時に型を理解できない為と思います、テキストボックスからの文字列は文字列であり独自の型に入れられないから上記のような挙動に見える
エラーは出てなかった様に思いますが帰ったら確かめます
これって独自の型を定義してその型でバインドした物と双方向する事はそもそも出来ないんでしょうか?
intにしろDateTimeとか文字列への型変換が出来るので出来そうに思えるのですが
220(1): (ラクッペペ MMe6-AsxV) 2022/03/17(木)14:00 ID:AolyjzvfM(1) AAS
文字列から変換できなきゃ意味ない
telephone = "でんわ"
221(1): (アウアウウー Sac5-I38D) 2022/03/17(木)14:39 ID:rF5KH7cwa(1) AAS
こんなにすれば内部で保持してるのとuiとで双方向できるし
内部→ui、ui→内部、どっちかだけ片方bindもできる
class telephone
{
int a,b=0;
public string tel
{
set{ var d = value.split('-');a=int.parse(d[0]);b=int.parse(d[1]);
get{ return $"{a}-{b}";
}
222(1): (スップ Sd02-aWWA) 2022/03/17(木)14:46 ID:LzLa9LO7d(1) AAS
System.ComponentModel.TypeConverter?
223(1): (ワッチョイ 822c-lWiN) 2022/03/17(木)16:15 ID:euNpZQ+M0(1) AAS
そのTelephoneValueクラスがstring型のTextValueプロパティを持ってるとして、
.DataBindings.Add("Text", vm, "Telephone.TextValue")
とすればいける
224: (ワッチョイ 6936-dw4a) 2022/03/17(木)20:21 ID:8n4FcalY0(2/3) AAS
>>220-223
色々ヒントありがとうございます。後程色々試してみて報告できそうな結果ならしたいと思います
また分からなかったら聞くかもです
最初、代入演算子かstringformat以降をごにょごにょする?か最悪テキストボックス側をいじる、いやUIはさすがにいじりたくない
とかですが"Telephone.TextValue"な書き方もできるんですね目から鱗です
TypeConverterは調べてみます
最終的にやりたいのはテキストボックスのマスクの動的判定
例えば06と打てば06-、続けて6を打てば06-6、4なら064-みたく表示(実装済み)
かつデータベースに書き込むのはハイフンなしにして書き込み、読み込む時はハイフン付けてテキストボックスに表示(生のstringでは検証済み)
これを整合性合わせてしたいが生のstringを使いたくなかったのが理由
まぁテキストボックスいじる方がよっぽど気持ちが悪いのですが
取り合えず上記アドバイス試してみますありがとうございます
225: (ワッチョイ 4de6-AsxV) 2022/03/17(木)23:08 ID:RdQIwXxN0(1) AAS
市外局番ルールってどっかに計算式あるの?
まあ同じ市外局番でも省略すると繋がらないとかふざけた地域も多いしトンキンオオサカだけでもいいか
226: (ワッチョイ 6936-rsxS) 2022/03/17(木)23:26 ID:8n4FcalY0(3/3) AAS
私は総務省にこんなんある事知って上記の話はそれらしく実装した
外部リンク[html]:www.soumu.go.jp
厳密にやろうとするとクソ面倒なのであくまでそれっぽくしただけだけど一応区切り位置とかのルールは存在する
227: (ワッチョイ c666-lWiN) 2022/03/18(金)10:15 ID:exJrGo4o0(1) AAS
Socket.IO (SocketIoClientDotNet) を利用し、下記コードでメッセージの購読は出来たのですが
this.socket = IO.Socket("外部リンク:localhost");
this.socket.On("new-message", (jo) =>
{
this.RecvNewMessage(jo as JObject);
});
購読を終了する方法が解りませんでした。
どのようにすれば終了できるでしょうか?よろしくお願いします。
228: (ワッチョイ 822c-lWiN) 2022/03/18(金)10:42 ID:GLaoxLmQ0(1) AAS
OnしたんならOffすればいいんじゃね 知らんけど
229: (ワッチョイ ed2f-K4Xb) 2022/03/18(金)15:59 ID:Fy/f5KFA0(1) AAS
コメントアウトはVSCodeのようにCtrl+/でやりたいんだけど
設定で変更できるよね?
なぜ最初からそうなっていないの?
Ctrl+k,cは面倒極まりない。
230: (ワッチョイ 8dd2-FsHI) 2022/03/18(金)16:13 ID:NghzuPCe0(1/4) AAS
頬杖つきながらマウスで選択してツールバーでポチっとするだけだから。
20年遅れてるUNIX開発環境に合わせろと言われも困ります。
上下前次1-新書関写板覧索設栞歴
あと 772 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.021s