X



ふらっと C#,C♯,C#(初心者用) Part134
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 0f9a-KsIq)
垢版 |
2017/11/29(水) 19:23:58.05ID:GNLsbK4F0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part133
http://mevius.5ch.net/test/read.cgi/tech/1510056685/
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/

■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0656デフォルトの名無しさん (アウアウカー Sa21-zP08)
垢版 |
2018/01/23(火) 21:20:31.90ID:doIreqsya
>>652-654
ありがとうございます
試してみます
0657デフォルトの名無しさん (ワッチョイ 25b3-pQa0)
垢版 |
2018/01/24(水) 22:02:38.70ID:pOW1jrho0
classをforeachで回したいのですがGetEnumeratorの書き方はこういう形が一般的なのでしょうか?
プロパティが増える度にGetEnumeratorのyield return追加しないといけないですが
うっかり追加し忘れてバグの元になるから別の書き方があるのかも?と少し気になったので
https://ideone.com/etKQWk
0660デフォルトの名無しさん (ワッチョイ 25b3-zWLY)
垢版 |
2018/01/24(水) 22:21:49.07ID:pOW1jrho0
>>658
すっごい単純なものだと
int id
string name
みたいなものでクラス保持してて、そこに他にも付属品が付いてるイメージです
たまにforeach使えないと不便な時があるのでその為に継承させてるのですが

DBから読み出したデータをそのままforeachで出力させたいって時とかに使います
わざわざ全部の項目を関数で読み出して表示ってのも大変な時があるので
0662デフォルトの名無しさん (アウアウエー Sa93-2BHe)
垢版 |
2018/01/24(水) 22:51:55.14ID:V1Cqs6+da
>>660
質問してるんだから人の言うこと素直に聞いた方がいいと思うよw
少なくとも>>658は正しい。

一般的なのでしょうか?
一般的どころかそんなこと誰もしないよw

どうやったらそんなアホなことをせずに目的の仕様を実激できるかを考えた方がいい
0663デフォルトの名無しさん (ワッチョイ 25b3-zWLY)
垢版 |
2018/01/24(水) 23:04:36.97ID:pOW1jrho0
>>662
すいません、目的の事をしたいのにそうではないと提示してもらったのはありがたいのですが
他の実現方法が分からなかったのでとりあえず現状何をしてるかを更に明確に伝えた方がいいと思ったで

その回答がただ否定してるだけに見えたのなら少し発言が悪かったでしょうか?

>>659
で更に回答いただけたのでTypeの使い方を調べています
とりあえず動くものだけ>>657で暫定で動かしておいて、使い方を理解したら置きかえて行く予定です
個人的に作ってるものなのでとりあえずは手の届く範囲で扱えるので
0668デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 14:20:59.96ID:uboI0CmN0

//描画先とするImageオブジェクトを作成する
Bitmap canvas = new Bitmap(PictureBox1.Width, PictureBox1.Height);
//ImageオブジェクトのGraphicsオブジェクトを作成する
Graphics g = Graphics.FromImage(canvas);

//画像ファイルを読み込んで、Imageオブジェクトとして取得する
Image img = Image.FromFile(@"C:\test\1.bmp");
//画像のサイズを2倍にしてcanvasに描画する
g.DrawImage(img, 0, 0, img.Width * 2, img.Height * 2);
//Imageオブジェクトのリソースを解放する
img.Dispose();

//Graphicsオブジェクトのリソースを解放する
g.Dispose();
//PictureBox1に表示する
PictureBox1.Image = canvas;


g,imgはNEWしてないのに何でdispose()する必要があるの?
0669デフォルトの名無しさん (アウアウエー Saf2-BM8y)
垢版 |
2018/01/25(木) 15:01:28.26ID:rd0qfL0Fa
>>668
Graphics.FromImageもImage.FromFileも直接コンストラクタ呼んでないだけのこと。
中で非公開のコンストラクタが呼ばれてインスタンスが作られてることに変わりないじゃん

お片付けしていいタイミングが分かるのは作った人だけ。
だから作った人がお片付けする責任を負うのが合理的
0670デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 15:12:28.67ID:uboI0CmN0
そういうことなの。
Graphics g = Graphics.FromImage(canvas);
こいつが内部のコンストラクタでNewしてるかどうかなんてどうしたらわかるの? 分からんよな。
マニュアルをみると確かにこいつだけ「Creates a new Graphics from the specified Image.」と
なってるな。わかり難く紛れ込んでるんだね。

しかも
g.dispose()
PictureBox1.Image = canvas;
と御片付けした後に表示するとはまた不思議な気がする。なんで片づけてから表示するん?
どのみちNEWしたCanvasはDisposeしないといけないでしょ。それならそのときに自動的に全部Dispose()する
とかできないのか?
0671デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 15:29:46.72ID:uboI0CmN0
これはGraphicsクラスの説明にあるMSのサンプルだけどImageもulCornerもDispose()していないのは何故。
private void DrawImagePointF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create point for upper-left corner of image.
PointF ulCorner = new PointF(100.0F, 100.0F);
// Draw image to screen.
e.Graphics.DrawImage(newImage, ulCorner);
}
0672デフォルトの名無しさん (アウアウウー Sa77-W10G)
垢版 |
2018/01/25(木) 15:31:19.68ID:867zoX3ca
別に使い終わってもリソース気にしないなら放置でいいよ
実害は普通の使い方してる限りでない

一個二個リソースが握られただけでは問題ないけど
数千数万とかレベルだと問題がでる
でもわざわざ勘定したり場合わけしながらコード書いているのか?
だったら正しいコードを書こう

newしてるかどうかわからなくても使ってることはわかるだろ?
いつかは自動で解放されるけどタイミングが不明
コード書いてる途中にg,imagを使い終わったと判断できるのは自分だけだから

片づけた後に使うのは当たり前だな
基本的にgなどはつかみっぱなしが良くないので短い範囲で手放してるだけ
0673デフォルトの名無しさん (アウアウウー Sa77-W10G)
垢版 |
2018/01/25(木) 15:35:45.15ID:867zoX3ca
これは基本的にwindowsのGDIという仕組みに乗ってるだけなので
他でも使ってる

c#に文句を言うのは筋違い
でもc++スレに行くのも筋違い

30年近くさかのぼってMSの設計者に文句を言ってくればいい
どうしても嫌ならwindowsの仕組みに乗ってないものを使えばいい
0675デフォルトの名無しさん (アウアウウー Sa77-W10G)
垢版 |
2018/01/25(木) 15:56:14.66ID:867zoX3ca
もう少し説明
>と御片付けした後に表示するとはまた不思議な気がする。なんで片づけてから表示するん?
仮にgをファイル操作に置き換えたとしよう

ファイル開く
ファイル読み書き処理
ファイル閉じる
表示

これを
表示
ファイル閉じる
にした場合、表示がもし5年かかった場合、ファイルは意味もなく5年間開かれっぱなしで他から操作できない
0676デフォルトの名無しさん (アウアウウー Sa77-W10G)
垢版 |
2018/01/25(木) 15:59:37.81ID:867zoX3ca
さらに言えば自動でファイルを閉じる仕組みを作ったにせよ
表示が終わるまで5年間ファイルは閉じられる機会がない

これでもすべて自動でやれという意見は変わらないかな?
0677デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 16:00:10.16ID:uboI0CmN0
そういう話ではなくて意味が解らないという話だね。
例えばこれは何故当たり前なのかが不明。

>片づけた後に使うのは当たり前だな
>基本的にgなどはつかみっぱなしが良くないので短い範囲で手放してるだけ

折角グラフィック表示するためにgを作ったのに、表示する前に解放するというのが意味不明だ。
Msのサンプルコードではまさにこのgに対してDRAWしている。これで表示が機能しているのに
この例では、PictureにCanvasを代入して表示が完了することになっている。表示する前にg
をdisposeしているから、gの役割が二つの例で意味が不明だ。
0678デフォルトの名無しさん (アウアウウー Sa77-W10G)
垢版 |
2018/01/25(木) 16:04:31.21ID:867zoX3ca
gは数が限られている

鉛筆みたいなもの
鉛筆が5本あってみなで共有している
使い終わったらすぐ放棄しないと絵が描けない人がでて困る

必要なくなったのに5年鉛筆を持ちっぱなしが望ましい状態だろうか?
0680デフォルトの名無しさん (ワッチョイ 2706-bSkF)
垢版 |
2018/01/25(木) 16:14:06.03ID:rPbpnmYW0
一つ勘違いがあるけど、newやコンストラクタとDispose()は直接関係ないよ
C#にdeleteは無いし、それに相当するものでもないので、インスタンスを解放する訳じゃない
Dispose()は主にガベージコレクション管理外となるアンマネージリソース等を解放するためのメソッド

そしてGraphicsはBitmapというキャンバスを弄るために用意したに過ぎない、表示するのはBitmapの中身
モノによってはDispose()すると内部バッファとかの書き出しとかもやるし、using等も使いつつ明示的にやりましょう

ちゃんとしたIDispose実装クラスならデストラクタ(ファイナライザ)でもDispose()を呼び出すコードが入ってるけど
タイミングがガベコレ次第になるし高コストなので明示的に呼ばれるとファイナライズキューから外すように設計されてる
0681デフォルトの名無しさん (アウアウエー Saf2-BM8y)
垢版 |
2018/01/25(木) 16:20:19.01ID:rd0qfL0Fa
>>670
だから、「Disposeする必要があるのは自分がnewしたもの」という勝手な思い込みが間違ってる。
Disposeは作成したオブジェクトが必要なくなった時に呼ぶ。
オブジェクトを作成する方法はコンストラクタ呼び出しだけじゃない。

MSDNの説明にある通り、Graphics.FromImageもImage.FromFileも新しく作成されたオブジェクトを
返す。使いまわしされる共有オブジェクトを返すわけじゃない。

> どのみちNEWしたCanvasはDisposeしないといけないでしょ。それならそのときに自動的に全部Dispose()する
> とかできないのか?
usingステートメントを使う
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-statement
0682デフォルトの名無しさん (アウアウウー Sa77-W10G)
垢版 |
2018/01/25(木) 16:22:44.43ID:867zoX3ca
C#でたころにGDIの限界までオブジェクト作ったことがあったな
画面がおかしくなって黒いところがあちこちにできる
リソースがないと怒られる

それともc++だったかないずれにせよ20年ぐらい前かな
0684デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 16:27:14.19ID:uboI0CmN0
要するに
Canvas(これはBItmapと同じ?)
Image (これは、Bitmap以外にも多種多様な表示を扱う?)
Graphics (これは描画するための、関数群のようなもの?)
の違いが不明ってことかな。
上の例(DOBON)では
 Picture.Image=Canvas
 これでImageにビットマップを代入して描画が完了することになっている。
 g.DrawImage(img, 0, 0, img.Width * 2, img.Height * 2);
ここでgを使ってimgに描画したのでもうgはいらない。だからgはdisposeした。
ならわかるが、ここでimgをDsiposeするからわけがわからない。
0685デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 16:34:42.10ID:uboI0CmN0
あっ、コメントにちゃんと書いてあった。

//画像のサイズを2倍にしてcanvasに描画する
g.DrawImage(img, 0, 0, img.Width * 2, img.Height * 2);
ここですでにCanvasに書いているんだな。
0687デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 16:43:44.03ID:uboI0CmN0
DOBONの例の機序
PictureBox1のサイズで空のBITMAPを作成する。
そのビットマップから描画オブジェクトのGraphics gを作成する。
ファイルからBitmapのImageを作成する。
gでそのImageをBITMAPに描画する。(BITMAPに描画したのでg、imgはいらない)
描画したBITMAPをPictureBOxにコピーする。

こういうことか。わかった。お騒がせしました。ペコリ
0689デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 16:47:36.29ID:uboI0CmN0
>gは数が限られている

それはおかしい。そんなことはどこにも書いてない。
もしそうだとしたら
Graphics g = Graphics.FromImage(canvas);
このコードが間違いってことになる。ここで数量をチェックしないといけない。
0691デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 16:52:18.84ID:uboI0CmN0
>C#でたころにGDIの限界までオブジェクト作ったことがあったな
>画面がおかしくなって黒いところがあちこちにできる 。リソースがないと怒られる

これはどういう意味? メモリーの限界ではなくて、GDI(ハードウエア)がもつレジスタの限界ってこと?
Graphicsって要するにGDIのリソースを確保するという意味なの?
0693デフォルトの名無しさん (ワッチョイ 27e3-5dAg)
垢版 |
2018/01/25(木) 16:56:18.20ID:y1oROuxV0
ユーザフレンドリーと見せかけてウンコの代表みたいなクラスなので
真面目に考えないほうがいい

結局仕組みを理解するにはwin32の描画文化から知る必要がある
0694デフォルトの名無しさん (アウアウエー Saf2-BM8y)
垢版 |
2018/01/25(木) 16:56:28.77ID:rd0qfL0Fa
>>689
しょうもないことに突っかかるなあw
数が限られてるって言い方が気に入らないなら高価な共有リソースって言えば分かる?

例えば巨大な配列とか、通信ポートとか、
そういった類のものを「一人」がずっと占有したら他の人が使いたい時に使えないよね?
0696デフォルトの名無しさん (ワッチョイ 2706-bSkF)
垢版 |
2018/01/25(木) 17:00:16.17ID:rPbpnmYW0
>>691
GDIはハードウェアっつーより…Windowsでの実装が気になるならReference Sourceでも読んで
メソッド内部では色々チェック入ってるし、しくじったら例外ぶん投げるようになってるから
0697デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 17:14:44.08ID:uboI0CmN0
例外ね。それならわかる。
0698デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 17:19:27.46ID:uboI0CmN0
MSの説明はたったのこれだけw
■Graphics クラス
 Encapsulates a GDI+ drawing surface. This class cannot be inherited.

GDI+って要するに、グラフィックコントローラを使うってことでしょ。でも鉛筆5本ってほどしょぼいことはないだろ。
0701デフォルトの名無しさん (ワッチョイ 8783-fPTX)
垢版 |
2018/01/25(木) 18:20:51.02ID:bbltRTAq0
最近のMSのドキュメントはほんと不親切だよな。
幸運なことGDI+は不親切になる前に開発されたものだから、ググればMSも含めて大量にドキュメントが残ってる。
0703デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 19:02:27.22ID:uboI0CmN0
ググってみた。
Application.SetCompatibleTextRenderingDefault(false);
というのが設定されるようになっていて、GDI+は糞だからGDIを使いなさいってことらしい。w
0706デフォルトの名無しさん (ワッチョイ 27e3-5dAg)
垢版 |
2018/01/25(木) 20:28:49.03ID:y1oROuxV0
c#の{ }って中身が1文の場合、省略できるものとできないものってどうやって決まってるんでしょうか?

namespace、class、
for、switch、while、try、checked、fixed、unsafeなど
0707デフォルトの名無しさん (ワッチョイ e39d-1ipv)
垢版 |
2018/01/25(木) 20:53:14.29ID:uboI0CmN0
省略しないこと。それが賢いプログラムスタイル。
0709愛知人
垢版 |
2018/01/25(木) 22:57:58.27
PictureBoxのMouseMoveイベントハンドラ内にInvalidate()を入れるとTimerのTickが止まります。何故ですか?
https://ideone.com/fWNMPP
0711愛知人
垢版 |
2018/01/25(木) 23:02:00.73
マウスの位置をフィールドに入れて間隔の短いタイマーで描画しますか?
0712デフォルトの名無しさん (ワッチョイ 0b9e-ss0X)
垢版 |
2018/01/26(金) 01:44:30.98ID:TUeBIint0
すみません質問です。
C#でエクセルを複数起動させるプログラムを書いているのですが、解決できない問題があります。
例えば既にa.xlsxが開かれていて、追加で3つのエクセルファイル(b.xlsx, c.xlsx, d.xltm)を立ち上げるとします。
その場合、process.start("excel", "b.xlsx c.xlsx d.xltm");
とすると、a~dまでが一つのプロセスにまとまるのはいいのですが、テンプレートが編集モードで開いてしまいます。
仕方ないので、
process.start("excel", "b.xlsx c.xlsx");
process.start("d.xltm");
とテンプレートだけ"excel"を抜いて起動すると、ちゃんとテンプレートは新規ファイルで開かれますが、プロセスが3つに分かれてしまいます・・[a.xlsx], [b.xlsx, c.xlsx], [d1]
(何故かa.xlsxまで孤立しちゃうんですよね・・・)

色々試したところ、
process.start("excel", "b.xlsx c.xlsx");を実行して一度処理を終了させた後(この時点ではa~cが一つのプロセスになっている)、
また起動し直しでprocess.start("d.xltm");を単独実行させると、a~cと同じプロセスにdが加わってくれました。
であれば、全部起動完了待ちすればうまくいくか?と思って、
Process p = new Process();
p.StartInfo.FileName = "excel";
p.StartInfo.Arguments = "b.xlsx c.xlsx";
p.Start();
p.WaitForInputIdle();
p.StartInfo.FileName = "d.xltm";
p.Start();
と、インスタンスを作ってからp.WaitForInputIdle();を加えたうえで実行させると、
プロセスは3つじゃなく今度は2つにまとまりましたが、一つになってくれませんでした・・。
[a.xlsx, b.xlsx, c.xlsx], [d1]
という具合で、何れにせよテンプレートだけプロセスが分かれちゃいます。

色々試しましたが、テンプレートファイル含む複数のエクセルファイルを、テンプレートファイルは新規ファイルとして開きつつ、全て一つのプロセスとして起動させる方法が分かりませんでした・・

方法があれば教えてくださいお願いいたします(m_m)
0713712 (ワッチョイ 0b9e-ss0X)
垢版 |
2018/01/26(金) 02:02:53.98ID:TUeBIint0
712です。
p.WaitForInputIdle();
の後に、System.Threading.Thread.Sleep(1000);
を強引に追加したら上手くいきました・・。
(うまくいったというのはつまり、
a.xlsxだけが最初に開いてあって、
b.xlsx, c.xlsx, d.xltmをC#で開いた時、a~dまで一つのプロセスにまとまり、
d.xltmも新規ファイルで開いてくれたという事です)
でもこれ、絶対正規の解決方法じゃないですよね?
きっともっといい方法ありますよね?・・
ご教授下さい。お願いいたします。
0714愛知人
垢版 |
2018/01/26(金) 02:18:07.66
長すぎて目が回る
0715デフォルトの名無しさん (アウアウエー Saf2-BM8y)
垢版 |
2018/01/26(金) 02:55:01.83ID:o5aK9JZ1a
>>712
コマンドラインオプションで"/t"でも指定してみるとか
知らんけど
https://support.office.com/ja-jp/article/Microsoft-Office-%E8%A3%BD%E5%93%81%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%83%A9%E3%82%A4%E3%83%B3-%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81-079164cd-4ef5-4178-b235-441737deb3a6#ID0EAABAAA=Excel

オートメーションでやった方がいいんじゃないの?
0717712 (ワッチョイ 0b9e-ss0X)
垢版 |
2018/01/26(金) 12:19:07.12ID:TUeBIint0
>>715
オートメーションってつまり、コムオブジェクト使うって事ですかね?
ちょっと調べてみます。
>>716
スリープも効果的に使えば立派なコードですかね!
ミリ秒時間の調整行って、確実に上手くいく範囲で秒数縮めてみようかと思います。
もっといい方法見つかればそれで実装しますが、それまでスリープで対応しようかと思います。
有難うございました。
0718デフォルトの名無しさん (ワッチョイ 56d6-1ipv)
垢版 |
2018/01/26(金) 17:21:24.22ID:YG13MR3r0
Form1のデータから、Form2を呼び起こして、
Form2のPrintDocument1_PrintPageを印刷しています。

Form2を閉じて、2回目にForm1から別のデータを印刷すると、
DrawStringで印刷したデータが重複してしまいます。

PrintDocument1_PrintPageを初期化するような方法はないでしょうか?
0720愛知人!id:ignore (ワッチョイ b375-5Mtj)
垢版 |
2018/01/26(金) 17:36:10.53ID:56XeCPud0
>>718
意味不明
0721愛知人
垢版 |
2018/01/26(金) 17:41:29.04
>>719
ダブルクォーテーションは""に置き換える
スペースの入った文はダブルクォーテーションで囲む
0722デフォルトの名無しさん (ワッチョイ da60-1ipv)
垢版 |
2018/01/26(金) 18:01:50.81ID:SCIRVI+W0
>>719
すいませんかんちがいしました
0724愛知人
垢版 |
2018/01/27(土) 13:34:52.88
pictureBoxに線を引いたり色々描画した後に指定位置のピクセルの値を取得する方法はありますか?
CopyFromScreen?を使うしかないですか?
0725愛知人
垢版 |
2018/01/27(土) 13:48:07.76
>>724は取り消し
0726デフォルトの名無しさん (ワッチョイ e39d-snNQ)
垢版 |
2018/01/28(日) 00:10:09.85ID:fNHvxuhr0
(12345).ToString("D8") = "00012345"
だけど、”    12345"にする方法はないのか?
0728デフォルトの名無しさん (ワッチョイ e39d-snNQ)
垢版 |
2018/01/28(日) 08:12:58.16ID:fNHvxuhr0
なるほど
" 123"
" 123.0"
" 123.00"
~
みたいなのをformat登録しておいて一括処理したいんだが,,,,
PadLeftをつかうには、独自フォーマットを作って解析して分解するひつようがあるな。
"8,D","12,F1","10,F2","10,F3","8,D"
これをSplitで分解して桁と表示にわけるとできる。みんなこんなことをやってるんだろうか?
0732デフォルトの名無しさん (ワッチョイ e39d-snNQ)
垢版 |
2018/01/28(日) 12:35:12.10ID:fNHvxuhr0
>設計ミスだな

ToStringとString.Formatでいちいち仕様を変えるなんざ設計ミスもいいとこだ。
0735デフォルトの名無しさん (ワッチョイ e39d-snNQ)
垢版 |
2018/01/28(日) 13:38:54.52ID:fNHvxuhr0
>>734
残念。VS2013ではそのスタイルは動かんな。
0736デフォルトの名無しさん (ブーイモ MM97-jjF6)
垢版 |
2018/01/28(日) 13:44:27.34ID:AvNbdCpkM
最新のVSって毎週バージョンが上がってて、アップデートしたら突然ビルドが通らなくなったりとか時々あるんだよね
自社開発でパパっと対応できる体制の開発が前提になってて、もうジャパニーズドカタには手を出せない代物
0742デフォルトの名無しさん (ワッチョイ e39d-snNQ)
垢版 |
2018/01/28(日) 14:11:02.89ID:fNHvxuhr0
List<string> a = new List<string> {
"x3" ,
"x4" ,
"x5" ,
"x6" ,
"x7" ,
"x8" ,
};
foreach (string el in a)
{
combox1.Items.Add(el);
}

combox1の初期化ってこんな方法しかないのか? 直接は初期化できんのか?
0743デフォルトの名無しさん (ワッチョイ e39d-snNQ)
垢版 |
2018/01/28(日) 14:12:38.19ID:fNHvxuhr0
>>236
ちゃうちゃう、$”  { valuえ} ”の記述はVs2017しかサポートしとらん。
0747デフォルトの名無しさん (ワッチョイ e39d-snNQ)
垢版 |
2018/01/28(日) 14:43:45.42ID:fNHvxuhr0
Addrange でできた。サンクス。
0748デフォルトの名無しさん (ワッチョイ e39d-snNQ)
垢版 |
2018/01/28(日) 15:01:38.15ID:fNHvxuhr0
int w = (int)((double)pic.Width / (double)(1 + x ) / 1.3);
doubleとintを混在するときにdoubleに自動的に型推論する機構ってないの?
いちいちキャストするのはメンドクサイよな。
0750デフォルトの名無しさん (ワッチョイ e39d-snNQ)
垢版 |
2018/01/28(日) 16:53:15.56ID:fNHvxuhr0
あっ、ほんとだ。いけた。ありがとう。
0751デフォルトの名無しさん (ワッチョイ e39d-snNQ)
垢版 |
2018/01/28(日) 17:12:56.15ID:fNHvxuhr0
Fontをファイルに保存したい。この場合name,style,sizeに分解して保存するのだろうか?
他に何かいい方法は?
0752デフォルトの名無しさん (ワッチョイ e305-5Mtj)
垢版 |
2018/01/28(日) 17:14:48.84ID:WjjZpgjO0
>>745
バーカw
0753愛知人 (ワッチョイ e316-5Mtj)
垢版 |
2018/01/28(日) 17:18:54.87ID:X+CD44G50
>>751
多分VSのアプリケーション設定のところでシリアライズして保存できるようにできる
■ このスレッドは過去ログ倉庫に格納されています

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