10/02/07 09:46:20
>>209
イベント来ないって言ってなかった?
あと、Listviewだって同じ問題起きると思うけど?
211:デフォルトの名無しさん
10/02/07 09:51:45
>>210
この下の行にMessageBoxを書いていたんだが、なぜかそこに来ないんだよな。
だからイベントが来ていないと思っていたのさ。
212:デフォルトの名無しさん
10/02/07 10:53:30
キャスト失敗してInvalidCastが出てDataGridViewが勝手にトラップして来てないと勘違いしたんだろ
くだらん
213:デフォルトの名無しさん
10/02/07 11:07:44
百済へ行ってこい( ・ω・)y─┛~~
214:デフォルトの名無しさん
10/02/07 11:09:36
例外なんて一番初めに疑うべきだろ…。
215:デフォルトの名無しさん
10/02/07 11:12:11
はあ?( ・ω・)y─┛~~
216:デフォルトの名無しさん
10/02/07 13:33:49
顔文字うぜーから死ね
自己主張したいならコテでもつけろカス
217:デフォルトの名無しさん
10/02/07 13:35:44
(´・∀・`)
218:デフォルトの名無しさん
10/02/07 13:49:56
(´ ∀`)σ)Д`)
219:デフォルトの名無しさん
10/02/07 14:26:40
ウザクないよねー(*´・ω・)(・ω・`*)ネー
220:デフォルトの名無しさん
10/02/07 15:33:43
コンストラクタに関して
public Samp(string filePath);
このようにファイル名を渡してその内容からプロパティに値を代入するようなコンストラクタは
使ってはいけませんか。つまりコンストラクタは直接プロパティの値を渡すように設計すべきで、
ファイルから値を代入してインスタンスを生成したい場合、
Samp smp = Samp.ReadFile(filename);のようにファイルから読み取ってインスタンスを返すような
静的メソッドでも作った方が良いでしょうか
221:デフォルトの名無しさん
10/02/07 15:38:07
コンストラクターで例外でるとめんどくさいし、
後からLoadするか、staticなファクトリーメソッド使う方がいいかもねぇ。
まあ、百歩譲って、コンストラクター2個用意しとくか。
222:デフォルトの名無しさん
10/02/07 15:42:55
C#ではまったく問題なし。
C++界隈にはコンストラクタで例外は避けるべきという都市伝説や
古代のノウハウがはびこっている。
223:デフォルトの名無しさん
10/02/07 15:44:17
どちらでもいい。
どちらでも全く問題ない。
224:デフォルトの名無しさん
10/02/07 15:47:27
読み込んだらすぐにファイルを閉じる場合→静的メソッド
開きっぱなしの場合→コンストラクタ
と区別すると直感的に分かりやすいと思う
225:デフォルトの名無しさん
10/02/07 15:47:56
>>221
むしろコンストラクタで例外が出ると何に比べて何がどう面倒なのか知りたい
226:デフォルトの名無しさん
10/02/07 15:58:34
親クラスが IDisposable なメンバー握ってるとかでも大丈夫なんだっけ?
227:デフォルトの名無しさん
10/02/07 16:16:17
明示的にbase.Disposeは呼ばないとダメ
大丈夫かどうかはもともとそのクラスの実装の責任であって
静的メンバでもコンストラクタでも同じこと
228:デフォルトの名無しさん
10/02/07 17:36:12
よく「印刷」を実行すると部数などの設定画面を表示し、それから印刷を実行する
アプリケーションがあると思うのですが、自分で同じこと(PageSetupDialogではない)をする場合、
自前でフォームを用意する必要がありますか?
229:デフォルトの名無しさん
10/02/07 17:37:53
PrintDialogのこと?
230:デフォルトの名無しさん
10/02/07 17:39:14
>>229
うわあああそれです。ありがとうございます!
231:デフォルトの名無しさん
10/02/07 18:23:56
インストラクターが作れません
232:デフォルトの名無しさん
10/02/07 20:16:41
DOS窓みたいにアプリのメッセージをForm上にダーーっと表示できるようにしたいけど、なにで作ればよいでしょうか。
233:デフォルトの名無しさん
10/02/07 20:20:49
TextBoxに出力するTextWriterを実装してConsole.SetOut
234:デフォルトの名無しさん
10/02/07 21:02:48
なるほど。ちょっと調べてみます
235:デフォルトの名無しさん
10/02/07 22:33:06
で?
236:デフォルトの名無しさん
10/02/07 22:44:04
何が「で?」だ馬鹿だろうお前
237:デフォルトの名無しさん
10/02/07 23:01:47
いちいち茶々入れてるのは別の人でしょ
で?とか自己解決しましたとか
238:デフォルトの名無しさん
10/02/07 23:11:13
>>236
その「馬鹿」に構うお前も、「馬鹿に構うお前」に構う俺も馬鹿なんだろうな
239:デフォルトの名無しさん
10/02/07 23:12:32
>>1-238
ここまで俺の自演
240:デフォルトの名無しさん
10/02/08 00:33:37
で?
241:デフォルトの名無しさん
10/02/08 01:29:41
ん?
242:デフォルトの名無しさん
10/02/08 01:42:17
で?
243:デフォルトの名無しさん
10/02/08 01:52:36
ん?
244:デフォルトの名無しさん
10/02/08 01:56:37
む?
245:デフォルトの名無しさん
10/02/08 02:02:28
し?
246:デフォルトの名無しさん
10/02/08 02:08:01
ゃ?
247:デフォルトの名無しさん
10/02/08 02:40:34
ぶ?
248:デフォルトの名無しさん
10/02/08 08:25:59
↓のようなコードを実行してもMarginBoundsの値が変更できません。
MarginBoundsの値を変更するにはどうすればいいでしょうか?
よろしくお願いします。
int sheetsize1 = 210;
int sheetsize2 = 297;
e.Graphics.PageUnit = GraphicsUnit.Millimeter;
e.PageSettings.Margins.Top = 20;
e.PageSettings.Margins.Left = 20;
e.PageSettings.Margins.Bottom = sheetsize2 - e.PageSettings.Margins.Top;
e.PageSettings.Margins.Right = sheetsize1 - e.PageSettings.Margins.Left;
MessageBox.Show("MarginBounds[Top,Bottom] = " + e.MarginBounds.Top.ToString() + "," + e.MarginBounds.Bottom.ToString(), "Program", MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show("MarginBounds[Left,Right] = " + e.MarginBounds.Left.ToString() + "," + e.MarginBounds.Right.ToString(), "Program", MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show("MarginBounds[Width,Height] = " + e.MarginBounds.Width.ToString() + "," + e.MarginBounds.Height.ToString(), "Program", MessageBoxButtons.OK, MessageBoxIcon.Information);
249:デフォルトの名無しさん
10/02/08 08:27:22
Readonlyプロパティですから諦めましょう
250:デフォルトの名無しさん
10/02/08 08:35:27
>>249
ということはMarginBoundsは固定値だから気にしなくていいということなんですね。
ありがとうございます。
251:デフォルトの名無しさん
10/02/08 13:26:14
演
252:デフォルトの名無しさん
10/02/08 14:11:40
C#プログラマ向けのC++本かサイトでお薦めありませんか?
変数とかそこらへんから読んでくのはしんどいし
かといって飛ばすとその中に結構肝心な点が書かれたりとかしてw・・・orz
253:デフォルトの名無しさん
10/02/08 14:14:56
>>252
学問に王道なし
254:デフォルトの名無しさん
10/02/08 14:15:28
C++は改定を控えているので本はお勧めしないとだけ
255:デフォルトの名無しさん
10/02/08 14:19:53
DOBON.NET
URLリンク(dobon.net)
++C++
URLリンク(ufcpp.net)
緑のバイク
URLリンク(homepage3.nifty.com)
ほかにもいっぱいあるけどね
256:デフォルトの名無しさん
10/02/08 14:21:08
へー
257:デフォルトの名無しさん
10/02/08 14:21:34
>>255
君は人の話を話半分に聞くタイプだね?
258:デフォルトの名無しさん
10/02/08 14:21:50
ああぼけてた
C#->C++か
苦痛に感じそうなパターンだな
C++の構文糞だし
259:デフォルトの名無しさん
10/02/08 14:23:40
>>257
昼飯終わってから眠くなる時間なんだよね~
すまんすまん
260:デフォルトの名無しさん
10/02/08 14:24:38
C#->C++というソース変換を機械的に行ってくれるツールはないもんかね?
261:デフォルトの名無しさん
10/02/08 15:12:35
一応あるみたいだね
多分有償だろうけど
URLリンク(www.atmarkit.co.jp)
URLリンク(www.tangiblesoftwaresolutions.com)
262:デフォルトの名無しさん
10/02/08 15:40:12
>>252
ことWindowsにおいては.NET Frameworkが動作している限りにおいて
C++でできることはほぼC#でもできるので、
C++で書かれたプログラムを以下にC#で利用するか、というところに絞って考えた方がいいと思う。
C言語、もしくはWINAPI互換で書かれた外部APIについては、DLLを直接参照してC#で利用することができる。
大抵のメジャーなライブラリはC言語形式のAPIセットがあるのでこれで十分。
C++のコードしかない場合はC++/CLIでラッパーライブラリを書くことになるが、これはかなりな茨の道。
.NET、C++双方の知識が必要になる上に、リソース管理が2重になるのでスゲー煩雑。
これもメジャーなものは.NET向けのラッパーライブラリや互換ライブラリがあるので
そのまま利用すればよい。
263:デフォルトの名無しさん
10/02/08 17:58:25
picturebox1にpicturebox2のimageを貼り付けるにはどのようにしたら良
いでしょうか?
picturebox1の上に小さいサイズのpicturebox2を配置してあり、ボタンが
押されたら2のimageを場所もサイズもそのままに1に反映するようにした
いと考えています。
picturebox1のこの場所にこのサイズで貼り付けるという指定方法が解ら
ず悪戦苦闘です。
264:デフォルトの名無しさん
10/02/08 18:08:27
picturebox1と同じサイズのbitmapを用意してpicturebox2のイメージのコピー作った後
bitmapをpicturebox1に割り当てるとか
265:デフォルトの名無しさん
10/02/08 18:40:07
private void Form1_Load(object sender, EventArgs e)
{
//画像を当てはめ色を塗る
pictureBox1.Image = new Bitmap(
pictureBox1.ClientSize.Width,
pictureBox1.ClientSize.Height,
System.Drawing.Imaging.PixelFormat.Format24bppRgb);
Graphics g1 = Graphics.FromImage(pictureBox1.Image);
g1.FillRectangle(Brushes.AliceBlue, pictureBox1.ClientRectangle);
g1.Dispose();
pictureBox2.Image = new Bitmap(
pictureBox2.ClientSize.Width,
pictureBox2.ClientSize.Height,
System.Drawing.Imaging.PixelFormat.Format24bppRgb);
Graphics g2 = Graphics.FromImage(pictureBox2.Image);
g2.FillRectangle(Brushes.Aqua, pictureBox2.ClientRectangle);
g2.Dispose();
}
private void button1_Click(object sender, EventArgs e)
{
//コピー処理
Graphics g = Graphics.FromImage(pictureBox1.Image);
g.DrawImage(pictureBox2.Image,
pictureBox2.Location);
g.Dispose();
pictureBox2.Visible = false;//同じ位置とのことなので非表示にしてみる
}
private void pictureBox2_Click(object sender, EventArgs e)
{
//コピーが行われたことをわかりやすくするためにとりあえず
MessageBox.Show("pictureBox2がクリックされました");
}
266:デフォルトの名無しさん
10/02/08 18:41:38
でも微妙にうまくいかねえw
267:デフォルトの名無しさん
10/02/08 18:46:40
マルチラインでテキストを改行した時に、行と行のスペースを調整することは出来ますでしょうか?
268:デフォルトの名無しさん
10/02/08 19:26:02
出来るかも
269:デフォルトの名無しさん
10/02/08 19:49:03
画像うんぬんやりたいならWPFに移行しろよ
270:デフォルトの名無しさん
10/02/08 23:38:00
レベル低い奴の相手をするほどヒマじゃない
271:デフォルトの名無しさん
10/02/08 23:44:42
>>270
スレタイを音読3回。
君が要らない子だと分かったら、黙ってブラウザ閉じなさい
272:デフォルトの名無しさん
10/02/09 00:16:07
画像をプログラムに埋め込むとロードが速くなったりしますか?
273:デフォルトの名無しさん
10/02/09 00:47:37
ビットマップを自分で打たせるのか?
274:デフォルトの名無しさん
10/02/09 01:58:53
Image.FromFileとかで外部にあるファイルを読み込むのと
URLリンク(dobon.net)
これのように実行ファイルの中に入れてしまうのとではどっちが速いかという質問でございます
275:デフォルトの名無しさん
10/02/09 02:09:00
おいなにをモタモタしてんだ?
テスト用のプログラムを書いて測ればわかる事だろ?
はやく作れよ
276:デフォルトの名無しさん
10/02/09 02:20:10
埋め込んだら起動が遅くなるしなあ
その例ってのはリソースなんでツールバーのアイコン画像とかそんなのだよ
あと何をやろうとしてるの?
277:デフォルトの名無しさん
10/02/09 02:51:53
>>276
何をやろうとしてるかは極秘です
278:デフォルトの名無しさん
10/02/09 03:11:04
Class A
Class B : A
と2つのクラスがあったとします。
ここでたとえばデータフォルダ "C:\data" という情報を2つのクラスが共に共有しなければ
ならないとき、その情報をどう渡したらいいでしょうか?
いくつか方法を考えてみました。
a) Main()メソッドの中にデータフォルダの変数(string)を定義し、Class AやClass Bのコンストラクタ
を呼び出すときにその変数を渡す。
b) グローバル変数としてデータフォルダの変数(string)を定義し、Class AやClass Bのメソッドに
読み込ませる。
c) 外部ファイル(INIファイル)にデータフォルダの情報を保存しておき、Class AやClass Bのメソッドに
この外部ファイルを読み込ませてデータフォルダの情報を取得させる。
a)~c)どの方法がいいでしょうか?あるいはこれよりいい方法がありましたら教えてください。
279:デフォルトの名無しさん
10/02/09 03:16:26
好きなように
正解はないよ
仕事でやる場合は力持った人の好みでルールが決まるだろうけど
280:デフォルトの名無しさん
10/02/09 05:46:18
どうでもいいけどその条件でb案を採用する理由はねえな
書いてない条件があるってのが恒例だろうけど
281:デフォルトの名無しさん
10/02/09 06:41:49
>>278
俺はいつもa法だな。おかげで引数イッパーイさ(´・ω・`)
282:デフォルトの名無しさん
10/02/09 06:47:59
個人的なものしか作ってないけど
そういう設定を持つクラスをstaticで扱えるようにしてそこを参照してる
その設定自体は基本xmlにしてるけど、面倒くさいときはそのまま内部で書いてる
283:デフォルトの名無しさん
10/02/09 07:50:15
>>282
かってに書けばー(´・ω・`)
284:デフォルトの名無しさん
10/02/09 08:22:41
まあ、設計しだいよねぇ。
その string を参照するのが A, B だけなんだったらコンストラクターで渡すし、
「アプリ全体の設定」みたいなものだったらそれ用のクラス作って
public const もしくは public static readonly メンバーにするかもしれないし。
285:デフォルトの名無しさん
10/02/09 08:34:27
settingsから読めばいいじゃない
286:デフォルトの名無しさん
10/02/09 09:26:41
>>264>>265
レスありがとうございました。コードを参考にしながらいろいろ試して
みます。
287:デフォルトの名無しさん
10/02/09 09:54:16
>>265
DrawImageの際にきっちりと矩形を設定しないとダメだぬぅ
(画像のDPIの値をみてうんぬんしているから位置だけ指定のときは2つの画像のDPIが違うとモヤっと描画されてしまう)
g.DrawImage(Image, Rectangle, Rectangle, GraphicsUnit.Pixel);
288:デフォルトの名無しさん
10/02/09 12:44:14
このスレの重複スレ
C#, C♯, C#相談室 Part55
スレリンク(tech板)
をC#, C♯, C#相談室 Part57として再利用します
住民は被ってると思いますが一応報告
289:デフォルトの名無しさん
10/02/09 12:51:21
>>288
誤爆乙