[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 04/13 15:36 / Filesize : 249 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2009/08/28(金) 14:57:21 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

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

前スレ
ふらっとC#,C♯,C#(初心者用) Part43
pc12.2ch.net/test/read.cgi/tech/1248573707/

207 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 21:46:42 ]
WinFormsはもう放置モードに入りましたから

208 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 21:47:08 ]
1.0 の頃は、なんと VB の方が速かったという話。
コンパイラの出来がよかったんだって。

今となってはそんなこともないんだろうけどね。

209 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 22:08:06 ]
VBは結構ヘルパー関数呼び出しが入るから普通に書いても若干遅くなることはある
想定されてるVBの用途を考えればほとんど無意味なコストなんだろうけど

210 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 23:19:03 ]
this.FormBorderStyle = FormBorderStyle.None ;
でウィンドウを枠を表示しないようにすると、ウィンドウ内をダブルクリックしてウィンドウが最大化します。
これを抑止するにはどうしたらよいですか?


211 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 23:26:31 ]
string title = "(?<artist>.*?)/*(?<albumtitle>.*?).*?(?\(<albumcategory>.*?\))";
ならOK?

212 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 23:28:26 ]
>>210
それだけなら最大化なんかしないはずだが
WndProcオーバーライドしてなんかやってないか

213 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 23:28:56 ]
>>211
スレ違い

214 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 23:31:47 ]
>>212
フレームなしのウィンドウを移動可能にするので、
protected override void WndProc(ref Message m){
base.WndProc(ref m) ;
if ((m.Msg == 0x84) &&
(m.Result == (IntPtr)1))
{m.Result = (IntPtr)2 ;}
}
というのを入れてます。
これがだめなんですか?
といっても、フレームなしのウィンドウを移動するには、
これが必要だし…。


215 名前:デフォルトの名無しさん [2009/08/31(月) 23:31:49 ]
>>211
PHPとXMLと正規表現混ざってるんじゃね?
本気で解答得たいという姿勢を感じられん。




216 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 23:37:31 ]
>>214
そういうのはOnMouseDownとOnMouseMoveでやるんじゃないの普通・・・

217 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 23:43:10 ]
…。←うざい

218 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 23:45:12 ]
・・・←もっとうざい

219 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 23:49:38 ]
>>214
他でもいろいろやってそうだね。
問題の切り分けを自分で出来るようにならないと、
情報を小出しするとかいろいろ文句をつけられるぞっと。

220 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 23:51:19 ]
>>214
WM_NCHITTESTでHTCAPTION返すようにするなら、
WM_SYSCOMMANDでWParamにSC_MAXIMIZEが含まれるときにIntPtr.Zeroを返すようにする処理を追加しないと

221 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 23:57:39 ]
なんか落ちた犬を叩くようだが、
>>214って典型的な「何でもMSのバグのせいにするタイプ」だね。

こんなの普通の神経してれば、人に質問する前にコード何も書かない素のフォームで
試して自分の仮説が本当に正しいのか実証するだろう。
俺には理解できん。真面目に精神病の一種か何かじゃないのこういう人。

222 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 00:01:52 ]
↑いつもの人乙

223 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 00:49:46 ]
>>216の案で書いてみた
private Point _p;
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if (e.Button == MouseButtons.Left)
_p = e.Location;
}
protected override void OnMouseMove(MouseEventArgs e)
{
base.OnMouseMove(e);
if (e.Button == MouseButtons.Left)
Location = new Point(Location.X + (e.Location.X - _p.X), Location.Y + (e.Location.Y - _p.Y));
}

224 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 02:45:27 ]
>>223
これって、イベントハンドラはどう割り当てるのですか?


225 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 03:03:32 ]
お前には無理だから忘れろ。



226 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 06:04:01 ]
イベントっていうのは勝手に起こるんじゃなくて
イベントを定義しているクラスがイベントハンドラを実行するんだよ。
そのイベントハンドラを実行するメソッドを普通On[イベント名]メソッドで定義するのが作法。

public event EventHandler SomeEvent; //イベント定義 呼び出し側からハンドラを追加する。
protected void OnSomeEvent(EventArgs e)
{
if(SomeEvent != null) //ハンドラが追加されているかをチェック

}





227 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 06:07:28 ]
途中で勝手に書き込まれてしまった・・・

public event EventHandler SomeEvent; //イベント定義 呼び出し側からハンドラを追加する。
protected virtual void OnSomeEvent(EventArgs e)
{
if(SomeEvent != null) //ハンドラが追加されているかをチェック
  SomeEvent(this, e);
}

なので 同一クラスおよび、サブクラスでは イベントハンドラを追加しなくても
Onメソッドをオーバーライドすればイベントハンドラを追加したのと同じことができる。
ただしスレッドは同一になるのでマルチスレッドデリゲートしたければ
イベントハンドラ追加するかな。

228 名前:227 mailto:sage [2009/09/01(火) 06:14:05 ]
訂正:同一クラスではオーバーライドできないので
Onメソッド内部に処理をかけばいいのだが、
そんなのは邪道なので
Onメソッドを実行せずに直接やりたい処理をやらせる。
イベントを起こしたいのならOnメソッドも実行する。



229 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 11:07:09 ]
internalインターフェイスにinternalメンバを定義したいんだけどコンパイルエラーになる
publicにしたくないメンバだけ明示的実装するしかないの?

230 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 11:15:27 ]
インターフェイスがインターナルならメンバをインターナルにする必要ないと思うんだが。
いずれにせよインターフェイスにはパブリックなメンバしか定義できないよ。


231 名前:229 mailto:sage [2009/09/01(火) 11:24:23 ]
そのinternalインターフェイスを実装するときに,
internalとしてそのメンバを実装するとコンパイルエラーになってしまう
publicメンバとして実装したら通るけどアセンブリ外から見えてしまう
明示的実装すれば実質internalになるけど,呼び出すときにいちいちインターフェイスにキャストするのが面倒

232 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 11:58:22 ]
明示的実装はいまいち融通が利かんからねぇ
まあこれぐらいで 多分どっかで最適化されて実行コストのロスはなくなるだろ
internal interface ITest {
    void Test();
}
public class Test : ITest {
    void ITest.Test() { }
    internal void Test() {
        ((ITest)this).Test();
    }
}

233 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 14:39:02 ]
逆の方が良くない?
これなら実装をvirtualやabstractにもできるし。

internal interface ITest {
void Test();
}
public class Test : ITest {
void ITest.Test() {
Test();
}
internal void Test() { }
}

234 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 15:13:49 ]
string s;
double d;
s="this is ";
s= s + d.ToString;

これだと 演算子 '+' を 'string' と 'メソッド グループ' 型のオペランドに適用することはできません。

って怒られるんだけど、こういうときはどうしたらいいですか?

StringBuilder使うのがいいですか?

235 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 15:14:59 ]
あ、
d="1234";
が抜けてました



236 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 15:15:07 ]
メソッド呼び出しには括弧つけろ

237 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 15:15:23 ]
>d.ToString

ToStringなんてプロパティねーよ
メソッドならあるよ

238 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 15:18:25 ]
は!そういうことですか!ありがとう

239 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 16:25:56 ]
実は.ToStringは不要

240 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 16:39:33 ]
定数に関する質問なんですが。
よくコレクション定数をプロパティで作ることがあるですが、
その定数が配列などのときにいちいちGet{for{list.Add(***):}}でループしながら定数を組んでいるためその変数を呼ぶごとにほんの少し時間をとります。
タイムカウントをとるとほんと微々たるものですが、私にとってはあまり気分のいいものではありません。
Getで指定する理由は、その定数には数十個とそれなりに大きなもので
バージョンを上げるごとに変わることが予想されるためで、変更し易いようにということでこのようにしています。

一度アプリケーションが起動するときに一気にロードしてreadonlyにしていたこともあるのですが、個人的に気持ちいいものではありませんでした。

皆さんはこのような状況のとき、どのような対策を行っているのでしょうか?

241 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 16:41:31 ]
気にしないように日々訓練しています

242 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 16:41:41 ]
お前の気分なんてどうでもいいんだよ

243 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 16:53:51 ]
int? myProperty;
int MyProperty {
get {
 if (myProperty == null) { /*値を計算してmyPropertyに代入*/ }
 return myProperty;
}
}
こうやって最初に呼び出された時だけ計算するとか

244 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 17:03:27 ]
クラスにアクセスするまで静的コンストラクタは起動されないので
staticフィールドで済ませる事が多いな。

メモリを圧迫するような大きなデータだと、
プロパティアクセス時に生成してキャッシュしておくけど。

245 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 17:21:58 ]
ところでコレクションや配列にreadonlyは無意味だぞ



246 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 17:22:41 ]
>>243,244
やっぱり一発で書ける方法はないんですね・・・
変数生成やプロパティ呼び出しのときにconstが使えて、呼び出し後は変数として使えるなんて出来れば幸せになれるのですが、orz
人の意見を聞けてよかったです。
ありがとうございました。m(_ _)m

247 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 17:32:49 ]
>>245
コンストラクタでの変更は故意にやらない限り弄られることはないかなっという
軽い気持ちで行っていますw


248 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 17:51:19 ]
static readonly ReadOnlyCollection<Hoge>
とか書くかな

249 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 21:05:45 ]
キャッシュせずにgetで毎回コレクションや配列を作るのは禁止(MSDNにも明記されている)
for (int i = 0; i < hoge.ConstValues.Length; i++) { x = hoge.ConstValues[i]; }
とかされると死ぬから

250 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 22:42:52 ]
datatableの内容を印刷するにはどうやったらできますか?
意外と難しい一般的なやりかたじゃないんですかねー?

251 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 22:54:26 ]
DataTableの質問してるやつ死ねよ

252 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:00:21 ]
やはり難しいのでしょうか?

253 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:04:22 ]
お前には難しすぎる
諦めろ

254 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:07:16 ]
標準では簡単なやり方はないな
自前で頑張って描画して印刷するしかない

255 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:11:16 ]
サードパーティのライブラリ買うか,データだけCSVかなんかで吐いてExcelで印刷したら



256 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:11:40 ]
仕事だか何だか知らんが毎回聞きに来るなよ
ボランティアでも飽きるわ

257 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:18:14 ]
な なるほど難しいですか
皆さんどうしたんですか
カルシュウム足りてませんよ
>>253 あい
>>254-255 そうですよねググッテQ&A読んでたら最終的にそういった結論でした
>>256 このスレの意義がなくなるでわないか!国民よ!!

258 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:20:09 ]
WPF使えばわりと簡単に印刷できるよ
君には簡単じゃないだろうけど

259 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:27:41 ]
ごめんごめんもう少し調べてみる
ちょっと安易すぎた
>>258
ありがとう
興味あるけどWPFはもっと腕をあげてからだな
ありがとうね

260 名前:デフォルトの名無しさん [2009/09/01(火) 23:29:28 ]
treeViewで指定したnodeを選択できますか?
aspだと
TreeNode.Selected = True
TreeNode.Select()
ようなのですが・・・・


261 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:32:01 ]
ソースかけ

262 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 23:34:08 ]
TreeViewの方にプロパティがある

263 名前:デフォルトの名無しさん [2009/09/01(火) 23:55:38 ]
TreeViewの方にありました!ありがとうございます。

264 名前:259 mailto:sage [2009/09/02(水) 00:10:03 ]
意外と簡単に出来ました
datatbsuu.Rows[r]["hoe01"].ToString().PadRight(10)
すいません
マジググって分からなかったんで安易に聞いてしまいました
すまぬ

265 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 00:11:57 ]
それが印刷・・・?
まあ解決したなら別にいいけど。



266 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 09:36:34 ]
例えばピクチャーボックスに機能を追加したいだけの時、ユーザーコントロールだとピクチャーボックスの機能を
すべて受け渡してやらないといけないんですが、単にピクチャーボックスの派生型から必要な機能だけを追加しても
いいでしょうか?
なにか不具合はありませんか?

できればオリジナルのピクチャーボックス同様デザイナでも利用したいのですがツールボックスに登録して
デザイナでレイアウトできますか?

267 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 09:54:19 ]
別に問題はない

268 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 20:42:15 ]
機能を追加するならユーザーコントロールにした方が分かりやすそう

269 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 20:54:36 ]
そんなわけないでしょ。
ツラが変らないならカスタムコントロール(既存のコントロールからの派生)でいいし、
その方がずっとわかりやすい。

ユーザーコントロールってのは、当たり前だが複合コントロールを作るためのものだよ。

270 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 20:57:46 ]
ピクチャボックスくらいならユーザーコントロールから派生してプロパティを橋渡ししてる暇があったら
Controlから直接派生して自作できそうだ

271 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 21:19:19 ]
機能を追加するコンポーネント作るってのもあり

272 名前:デフォルトの名無しさん [2009/09/02(水) 21:30:17 ]
起動が遅すぎます
何とかして下さい

273 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 21:44:31 ]
新しいマシン買えよ。

274 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 22:03:53 ]
アドビのソフトみたいにスタートアップにこっそり仕込んでおけばいいんだよ。
やりすぎるとOSそのものの起動が激遅になるけどねw

275 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 12:06:16 ]
ジュネリックコレクション型のcontainがうまくいかなくて困っています
配列へコピーしてもダメで困っているのですがどうしたらいいのでしょうか?
public class Location{
  public int x, y, z;
  public void data(Location position){
    this.x = position.x;
    this.y = position.y;
    this.z = position.z;
  }
  public void data(int x, int y, int z){
    this.x = x;
    this.y = y;
    this.z = z;
  }
}
static void Main(string[] args){
  Location pos1 = new Location();
  Location pos2 = new Location();
  List<Location> FilePosList = new List<Location>();
  pos1.x = 5;
  pos1.y = 10;
  pos1.z = 20;
  pos2.x = 5;
  pos2.y = 10;
  pos2.z = 20;
  FilePosList.Add(pos2);
  if (FilePosList.Contains(pos1)) {
    Console.WriteLine("値が一致しました");
  }
}



276 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 12:07:16 ]
>>275 すいません 現象は Containsが一致しないことです

277 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 12:16:03 ]
>>276
pos1 == pos2が成立するようにする
具体的にはEqualsのオーバーライド

278 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 12:21:19 ]
EqualsやGetHashCodeを実装するのはもちろんだけど,
そういうデータは変更可能なクラスであってはいけない。
あとからメンバの値を変更できないような設計にするか,
クラスではなく構造体にしないと整合性が保たれない。

279 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 12:32:03 ]
>>276 文字通り Equalsのオーバーライドで求めているものができました
ありがとうございます。

>>278 アドバイスありがとうございます

280 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 12:47:43 ]
List<T>.Containsの解説にEqualityComparer.Default使うって書いてあるんだから読めよな
しかしこれもダックタイピングなのか

281 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 13:05:19 ]
EqualityComparer<T>.Defaultは通常はObject.Equalsの結果を返すだけ。
だからオーバーライドしてあればそっちが呼ばれる。ダックタイピングではない。
EqualityComparer<T>.Defaultは面白いプロパティで,TがIEqualityComparer<T>を実装してたら
Object.EqualsじゃなくてIEqualityComparer<T>.Equalsを使う実装に代わったりする。

282 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 13:12:41 ]
面白いというよりトリッキーだな

IEquatable<T>なら理解できるが

283 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 13:13:20 ]
ContainsじゃなくてExistsを使うというのも一案

284 名前:281 mailto:sage [2009/09/03(木) 13:14:35 ]
>>282
間違えた
IEquatable<T>で正解

285 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 14:03:53 ]
そういえばMSDNでコレクションクラスにIがつくものはプロパティとなっていて
つかないものはクラスとなるけど、サンプルはその記述だけで他が一緒。
これはどういう使い分けをしたらいいの?



286 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 14:20:52 ]
先頭にIが付くのはインターフェイスといいます。
わからないうちはクラスだけ使ってれば問題ありません。
非常に重要な概念ですがとてもこんなところで説明しきれるようなものではないので
ちゃんと基礎から自分で勉強した方がいいです。

287 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 14:26:57 ]
フェルマーおつ

288 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 14:31:07 ]
インターフェイスという言葉も知らない奴に何を教えるんだよ
オブジェクト指向や多態性について10レスくらい使って書けばいいの?

289 名前:デフォルトの名無しさん [2009/09/03(木) 15:06:48 ]
下記のようにlistという配列に追加してDataRowを追加しています。
list.Add(DataRow.ItemArray);
それで、テンプレート側でlistの表示を行いたいのですが、
やり方がいまいちわかりません。
foreach等でまわすのはわかるのですが、どうやってまわすのですか?


290 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:12:52 ]
以下をオブジェクト指向に則って書き換えるとするとどのようなコードになるますか?

class MyClass{
public int methodA (int i)
{
return i + 1;
}
public int methodB (int i)
{
return i - 1;
}
}

class ClassB{
public int methodA (int i)
{
return i * 2;
}
public int methodB (int i)
{
return i / 2;
}
}


291 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:17:02 ]
クラス分ける意味ないと思う

292 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:17:24 ]
そんなんにオブジェクト指向もなにもない

293 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:29:28 ]
インタフェースを使って、

interface IStrategy {
int methodA(int i);
int methodB(int i);
}

class ClassA : IStrategy {
...
}

class ClassB : IStrategy {
...
}

GetStrategy() は、ClassAかClassBのどちらかのインスタンスを返すメソッドとして
どこか別のところで、
IStrategy strategy = GetStrategy();
int bar = strategy.methodA(foo);



294 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:30:24 ]
>>292
そうですよね。
昨日行った面接でホワイトボードにこれ出されて、
オブジェクト指向で書き換えるように言われたのですが。。。
上手く回答する事ができず、取りあえずinterfaceをくっ付けてみたのですが、
後学の為に、どうか書けば良かったのか知りたかったのです。
分かる方居ればご教授頂けると嬉しいです。

295 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:33:01 ]
酷い面接だなw
OOP脳っぽいw



296 名前:293 mailto:sage [2009/09/03(木) 15:33:44 ]
>>294
オブジェクト指向は関係なくて、Strategyパターンを知っているかが求められていたのでは?

297 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:34:18 ]
>>293
ありがとうございます。ストラテジーパターンですね。
やはり、デザインパターンで回答するのがスマートでしたか。
イメージはありましたが、名前が出てきませんでした。

298 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:36:58 ]
>>294
その可能性はありますね。ストラテジーパターンは知ってはいたのですが、
面接官の前でテンパってしまってInterfaceくっ付けるだけで、
その後の説明ではアワアワなってしまいました。

299 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:41:48 ]
面接頑張ったね☆

300 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 15:59:22 ]
>>291-299
ありがとうございました。

301 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 18:12:02 ]
質問です。

TabPageとそれに格納されているコントロールを複製して、
同じ挙動・レイアウトのTabPageを作成したいのですが、
どのような方法がありますか?

302 名前:デフォルトの名無しさん [2009/09/03(木) 18:37:47 ]
山田 優   A
山本 一太     B
山田 太郎     C

テキストボックスで名前とアルファベットの間にタブを入れると
上のようになるんですが、メモ帳やテキストエディタにコピペすると
きちんと等長になります
テキストボックスコントロールでタブを等長にするにはどうすればいいですか?

303 名前:302 mailto:sage [2009/09/03(木) 18:42:29 ]
自己解。
フォントが非等長でした。
すんまそん。

304 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 19:53:15 ]
等幅と言ってくれ寒気がする

305 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 20:02:56 ]
プロポーショナル・非プロポーショナルという方が実際的な気がする



306 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 21:24:47 ]
ああ、そうでしたね・・・

細かいこと気にするなよ兄弟

307 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:04:11 ]
>>301
やりたいことがよくわかんないんだけど。
ユーザコントロールにその「タブに格納されているコントロール」群を貼り付けて、
そのユーザコントロールをあちこちのタブページに貼り付けるんじゃダメなの?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<249KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef