C#, C♯, C#相談室 Part52
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/04/01(水) 10:15:52前スレ
C#, C♯, C#相談室 Part51
http://pc12.2ch.net/test/read.cgi/tech/1233757615/
Visual C# 2008 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
その他テンプレ>>2-5くらい
0446デフォルトの名無しさん
2009/05/08(金) 06:10:15日本の季節感にはまったくあってないけどな
昔は一番寒い時期が1月1日で新年を迎えると暖かくなる一方だった
戦争に負けたアジアは所詮白人のおまけということだな
0447デフォルトの名無しさん
2009/05/08(金) 07:14:01おじいちゃん乙
0448デフォルトの名無しさん
2009/05/08(金) 07:21:58中国行って旧正月でも祝ってればいいんじゃない
0449デフォルトの名無しさん
2009/05/08(金) 07:22:24ひな祭り、七夕、盂蘭盆会などなど。
0450デフォルトの名無しさん
2009/05/08(金) 10:56:450451デフォルトの名無しさん
2009/05/08(金) 12:22:220452デフォルトの名無しさん
2009/05/08(金) 23:07:530453デフォルトの名無しさん
2009/05/08(金) 23:17:290454デフォルトの名無しさん
2009/05/09(土) 13:32:15for i=0 to 4
label(i)="abc"
next
みたいな
ループの添字で複数の連番的なオブジェクトを指定するにはどうしたらいいのでしょうか
オブジェクトに番号振るっていう状態をどういうのかがわからなくて調べられないです
1日いろいろ探してみましたが思いつく宛が詰まってしまったのでヒントが欲しいです
0455デフォルトの名無しさん
2009/05/09(土) 13:35:240456デフォルトの名無しさん
2009/05/09(土) 15:23:130457デフォルトの名無しさん
2009/05/09(土) 21:20:30フォームのテキストラベルにH2Oと入れたいんだけど2を下付きにするにはどうすればいいのですか?
Hのラベル、2のラベル、Oのラベルを3個並べてお茶を濁してきたけど、詳しい方どうか教えてください。
0458デフォルトの名無しさん
2009/05/09(土) 21:23:570459デフォルトの名無しさん
2009/05/09(土) 21:30:230460デフォルトの名無しさん
2009/05/09(土) 21:30:36U+2082 ₂ SUBSCRIPT TWO
0461デフォルトの名無しさん
2009/05/09(土) 22:04:02文字を書いてつくったイメージを貼り付ければいいじゃん
0462デフォルトの名無しさん
2009/05/09(土) 23:36:39な なるほど!thx
0463デフォルトの名無しさん
2009/05/09(土) 23:44:440464デフォルトの名無しさん
2009/05/09(土) 23:48:550465デフォルトの名無しさん
2009/05/12(火) 11:40:49DrawItem()でDrawString()すれば良いんだけど。
ComboBoxの数が多いのでユーザコントロールにするとしたら
どこでDrawString()すればいいんだろう?
OnDrawItem()で直接書いちゃっていいのかな?
0466デフォルトの名無しさん
2009/05/13(水) 23:19:390467デフォルトの名無しさん
2009/05/14(木) 01:11:13OnDrawItemでいいよ。
0468デフォルトの名無しさん
2009/05/14(木) 09:36:16OnDrawItem()でうまくいきました。
ついでに背景色とかも変更してみます。
0469デフォルトの名無しさん
2009/05/14(木) 16:20:55GetFilesみたいにリストを作って返すのではなくWin32APIのFindFirstFile/NextFile相当のものが使いたいんですが。
0470デフォルトの名無しさん
2009/05/14(木) 17:01:050471デフォルトの名無しさん
2009/05/14(木) 17:08:210472デフォルトの名無しさん
2009/05/14(木) 17:18:480473デフォルトの名無しさん
2009/05/14(木) 17:29:260474デフォルトの名無しさん
2009/05/14(木) 17:30:22.NET Framework 4.0 のGetFiles
0475デフォルトの名無しさん
2009/05/15(金) 02:24:16その手のライブラリなど、ご存知の方いますでしょうか? Reflection で自前
で再帰するしかない?
0476デフォルトの名無しさん
2009/05/15(金) 02:42:10まぁ実装してもたいした手間じゃな下げだけど。
0477デフォルトの名無しさん
2009/05/16(土) 13:13:47>実行時の object 階層を値込みで表示用の tree にまとめ上げたいんだけど、
object階層の意味がよく分からないけど、
Visual Studioのウォッチウィンドウみたいな感じで
インスタンスの情報を展開してくれるのが欲しいってこと?
だったらオブジェクト参照が循環している場合もあるので注意かな。
シリアライザ/デシリアライザみたいにグラフとして扱うか、
ウォッチウィンドウみたいにクリックするまで子ノードの評価を行わないといった
工夫が必要になると思う。
0478475
2009/05/16(土) 16:25:07いや、それが結構面倒くさい。CodeProject はなさそうでした。
>>477
なるほど、シリアライズして XML を使うのもありですね。
どうもありがとう。
0479デフォルトの名無しさん
2009/05/16(土) 16:58:37048090
2009/05/16(土) 20:36:16ユーザコントロールを作成していますが、
既存の型を使用した場合は問題ないのですが、enum型を定義して
使用すると、このコントロールを使用するプログラムで
デザイン時に初期値を選んだ場合は問題ないのですが他の候補(この場合type2)を
セットすると
「'System.Windows.Forms.Control.ControlCollection' に 'xxxComboBox' の
定義が含まれておらず、型 'System.Windows.Forms.Control.ControlCollection' の
最初の引数を受け付ける拡張メソッドが見つかりませんでした。
using ディレクティブまたはアセンブリ参照が不足しています。」のエラーになります。
0481デフォルトの名無しさん
2009/05/16(土) 20:39:20ソースはこんな感じです。
namespace Controls
{
public partial class xxxComboBox : ComboBox
{
public enum DrawingMode : int
{
type1 = 0,
type2 = 1
}
private DrawingMode _ItemDrawingMode;
[Category("Custom")]
[DefaultValue(typeof(DrawingMode), "type1")]
[Browsable(true)]
public DrawingMode ItemDrawingMode
{
get { return _ItemDrawingMode; }
set { _ItemDrawingMode = value; }
}
0482デフォルトの名無しさん
2009/05/16(土) 20:40:31[Category("Custom")]
[DefaultValue(typeof(Color), "White")]
[Browsable(true)]
public Color FirstBGColor
{
get { return _FirstBGColor; }
set { _FirstBGColor = value; }
}
public xxxComboBox()
{
InitializeComponent();
_ItemDrawingMode = DrawingMode.type1;
_FirstBGColor = Color.White;
}
...
}
使用する側では参照設定にこのdllを指定しています。
FirstBGColorプロパティは他の色に変更しても正しくビルド・実行できます。
DraingModeのプロパティをtype2に変更してビルドすると上記の
エラーがでます。
エラー箇所を見ると
this.xxxComboBox1.ItemDrawingMode = Controls.xxxComboBox.DrawingMode.type2;
の行が解決できないようです。
using Controls;を加えても同じです。
ControlCollectionに追加するにはどのメソッドを使用すればいいのでしょうか?
0483デフォルトの名無しさん
2009/05/16(土) 22:32:52this.xxxComboBox1.ItemDrawingMode = 1;
にしたらエラーでないよね?
0484デフォルトの名無しさん
2009/05/16(土) 22:41:13this.Controls は Control.ControlCollection クラスのインスタンスだろ
0485480
2009/05/17(日) 08:30:40ありがとうございます。
this.xxxComboBox1.ItemDrawingMode = 1; は型が違うのでエラーになります。
呼び出し側でusing Controls;を定義して、コードで(例えばForm1_Load内で)
xxxComboBox1.ItemDrawingMode = xxxComboBox.DrawingMode.Type2;
のように書けば、正常にビルド・実行可能です。
ただし、先程書いたようにデザイナからプロパティ値を変更すると
エラーになります。ControlCollectionにxxxComboBoxを追加して
導出してやらないといけないのかと思いますが、やり方が分かりません。
0486デフォルトの名無しさん
2009/05/17(日) 09:23:29せめてライブラリ名.Controlsに
0487480
2009/05/17(日) 11:08:57そうだよな、namespaceの名前を変えよう・・・
ということでControlsからmalib.Controlsにnamespaceを変更したら
ちゃんと動作しました。
0488デフォルトの名無しさん
2009/05/20(水) 21:40:44今C#の勉強の意味もこめてC#のいろんな機能をフルに利用するつもりで
ちょっとしたプログラムを作っているんだが
本当にC++、Javaから発展してきた言語とは思えん。
まず、DataGrid使って表を作る。
row.SetValues(1,2,3)とやることで、一行のデータを一気に入れられる。
そこで一行全部の背景色をつけたいと思った。
SetValuesと同じように、row.SetStyle(style)とやりたかったが、
残念ながらSetStyleはセルごとしかなかった。
DataGrid(正確にはDataGridViewRow)になんでSetStyleが無いんだよ!って
怒るような事例なのに、拡張メソッドを使うことで継承を利用せずに
いとも簡単にrow.SetStyle()を付け加えることができるとはw
0489デフォルトの名無しさん
2009/05/20(水) 23:09:50それでC#にケンカ売ってるつもり?
まさかそんなわけないよねwww
0490デフォルトの名無しさん
2009/05/20(水) 23:13:11メロンパン言語だ
0491デフォルトの名無しさん
2009/05/20(水) 23:25:010492デフォルトの名無しさん
2009/05/20(水) 23:36:570493デフォルトの名無しさん
2009/05/21(木) 00:24:35C# の話じゃなくてフレームワークの話だな
0494デフォルトの名無しさん
2009/05/21(木) 00:25:41C#はソースが読みやすいとか、一貫した仕様でスッキリしてて覚えやすいとか色々あるけど、
何よりVSっていう最強のIDEが付っきりで開発支援してくれるのが最大のアピールポイントだと思う。
VSが無ければ他の言語でいいけど、一回VS+C#で慣れると他の言語やる時にかなりメンドクサイ。
・・・あれ、ここって相談室だよな?
0495デフォルトの名無しさん
2009/05/21(木) 00:34:350496デフォルトの名無しさん
2009/05/21(木) 00:42:090497488
2009/05/21(木) 00:44:37> コンポーネントと言語をごっちゃにして、的外れだけどな。
言っとくけど、言語の話だよ。
mix-inといえばわかるかな?
(標準ライブラリの)クラスに、メソッドを後付できる。
という言語仕様。
0498デフォルトの名無しさん
2009/05/21(木) 00:47:05ってことを言ってるんだと思うよ。
0499デフォルトの名無しさん
2009/05/21(木) 00:48:35他の人「そうだな」
で終わってくれればいいのに、
コンポーネントとかWinFormsの話だなとか
間違ったこと言い出すからレスせざるを得なかったんだよw
0500デフォルトの名無しさん
2009/05/21(木) 00:49:48あきらかに主題の文章量と副題の文章量の比がおかしいww
おまえは女かwwwwww
0501デフォルトの名無しさん
2009/05/21(木) 00:51:06先に言っとく。基地外(500など)は無視したほうがいいよw
0502デフォルトの名無しさん
2009/05/21(木) 00:52:42おけw
間違ったことを何も言っていないのに、
なんで変なやつがまとわりついてくんだか。
こちとら本格的にC#はじめて五日目だ。なめんじゃねーぞw
0503デフォルトの名無しさん
2009/05/21(木) 00:54:310504デフォルトの名無しさん
2009/05/21(木) 01:01:24最近みんなジェネリック、ジェネリックって言って僕を呼んでくれないんです。
昔はあんなにちやほやされてたのに・・・。
これから僕はどうしていけばいいんでしょうか。
0505デフォルトの名無しさん
2009/05/21(木) 01:02:54それでは次の型どうぞ〜
0506デフォルトの名無しさん
2009/05/21(木) 01:42:30public Form1()
{
InitializeComponent();
webBrowser1.Navigate("http://www.google.co.jp");
}
たったこれだけの実装ですが、googleのページがすぐに表示されるときと
ずっとまっ白でまったく表示されない時があります。
環境は、XPProSP2、IE6です。
どなたか解決方法を知りませんか?
0507デフォルトの名無しさん
2009/05/21(木) 01:47:340508デフォルトの名無しさん
2009/05/21(木) 01:48:230509デフォルトの名無しさん
2009/05/21(木) 01:54:11ボタンをひとつつけて、その中でNavigateしても状況はかわりません。
非常に安定しないんです。
0510デフォルトの名無しさん
2009/05/21(木) 01:56:19目的のページを表示するんが一般じゃなかったっけ?
0511デフォルトの名無しさん
2009/05/21(木) 02:04:35書き忘れましたが、それも試して効果はありませんでした。
public Form1()
{
InitializeComponent();
webBrowser1.Navigate("about:blank");
webBrowser1.Navigate("http://www.google.co.jp");
}
0512デフォルトの名無しさん
2009/05/21(木) 02:06:140513デフォルトの名無しさん
2009/05/21(木) 02:13:33自分でもかなり調べてダメだったので、諦めることにします。
ありがとうございました。
0514デフォルトの名無しさん
2009/05/21(木) 02:51:04起動時にNavigateするようにした時に稀にあった。
とりあえず、起動時にいきなりNavigate使う時はコンストラクタじゃなくてLoadイベントなり登録してそこでやった方がいいと思う。
それでこの症状が直るわけではないと思うけど。
0515デフォルトの名無しさん
2009/05/21(木) 12:03:16webBrowserだけじゃなくて
IE6のそのものが、ずっと真っ白のままで表示されないことがあるんだが・・・
AVGのリンクスキャナを停止してからは少しマシになったかも?
普段はChromeを使っているから見なかったことにしてるけど。
0516デフォルトの名無しさん
2009/05/21(木) 14:18:15何度やっても問題なく表示されるな。
環境はXPProSP2、IE6、VS2008Pro
0517デフォルトの名無しさん
2009/05/21(木) 14:49:260518デフォルトの名無しさん
2009/05/21(木) 15:58:51ウィルス対策ソフトは切ってます。
>>516
ほんの2日ほど前まで私もその環境でしたが、なぜか動きません。
XPProSP3、IE8、VS2008Exにしましたが、改善はありません。
>>517
ちょっと見てきます。
0519デフォルトの名無しさん
2009/05/21(木) 16:02:12System.Windows.Forms.WebBrowserはコントロール上に乗って無くても大丈夫なように作られてるけど一応
0520デフォルトの名無しさん
2009/05/21(木) 16:23:25■PG
public Form1()
{
InitializeComponent();
Console.WriteLine("IsBusy:" + webBrowser1.IsBusy);
webBrowser1.Navigate("about:blank");
webBrowser1.Navigate("http://www.yahoo.co.jp/");
Console.WriteLine("IsBusy:" + webBrowser1.IsBusy);
}
■出力
IsBusy:False
'Test.vshost.exe' (マネージ型): 'C:\WINDOWS\assembly\GAC\Microsoft.mshtml\7.0.3300.0__b03f5f7f11d50a3a\Microsoft.mshtml.dll' が読み込まれました
IsBusy:False
■結果
画面まっ白
>>514
LoadイベントでやってもThread.sleep(5000)をnavigateの前後に入れてもまっ白になることが多々ありました。
0521デフォルトの名無しさん
2009/05/21(木) 18:07:170522デフォルトの名無しさん
2009/05/21(木) 22:09:230523デフォルトの名無しさん
2009/05/21(木) 22:32:090524デフォルトの名無しさん
2009/05/21(木) 22:49:46DropDownItemsに追加したToolStripMenuItemのイメージ余白の消し方を教えてください。
1階層目はShowImageMarginをFlaseにすれば消せるのですが
2階層目以降のToolStripMenuItemは余白が出たままになってしまいます…。
0525デフォルトの名無しさん
2009/05/22(金) 01:41:24文字化けしない方法をどなたか教えてください orz
0526デフォルトの名無しさん
2009/05/22(金) 01:44:570527デフォルトの名無しさん
2009/05/22(金) 01:46:460528デフォルトの名無しさん
2009/05/22(金) 02:00:25こんななりました。。
?慣???麩????????????弊(ry
0529デフォルトの名無しさん
2009/05/22(金) 02:26:540530デフォルトの名無しさん
2009/05/22(金) 03:09:18[DllImport("libmecab.dll")]
extern static int mecab_new2(string arg);
[DllImport("libmecab.dll")]
extern static IntPtr mecab_sparse_tostr(int m, byte[] str);
[DllImport("libmecab.dll")]
extern static void mecab_destroy(int m);
int mecab = mecab_new2("");
this.textBox2.Text = Encoding.Default.GetString(Encoding.Convert(Encoding.UTF8, Encoding.Default, Encoding.Unicode.GetBytes(
Marshal.PtrToStringUni(mecab_sparse_tostr(mecab, Encoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(
this.textBox1.Text))))))).Replace("\n", "\r\n").Replace("\r\r\n", "\r\n");
mecab_destroy(mecab);
0531デフォルトの名無しさん
2009/05/22(金) 06:06:520532デフォルトの名無しさん
2009/05/22(金) 06:24:150533デフォルトの名無しさん
2009/05/22(金) 14:52:19printPreviewDialog1.ShowDialog();
こう書いても何故かthisと重なって表示してくれない
大きさは反映されるのに位置が自動的に決定されてしまう
解決方法知ってる方いたら教えてください
0534デフォルトの名無しさん
2009/05/22(金) 15:08:590535デフォルトの名無しさん
2009/05/22(金) 15:32:250536デフォルトの名無しさん
2009/05/22(金) 15:40:11PrintPreviewDialog..::.StartPosition プロパティ
0537デフォルトの名無しさん
2009/05/22(金) 15:49:14ありがとうございました
0538デフォルトの名無しさん
2009/05/22(金) 15:55:42ワロタ
気持はわかる
0539デフォルトの名無しさん
2009/05/23(土) 18:31:310540デフォルトの名無しさん
2009/05/24(日) 01:39:480541デフォルトの名無しさん
2009/05/24(日) 11:01:56ユニークな仕事だなw
0542デフォルトの名無しさん
2009/05/24(日) 12:58:030543デフォルトの名無しさん
2009/05/24(日) 14:30:220544デフォルトの名無しさん
2009/05/24(日) 16:14:58なぜか一瞬だけ、選択していないアイテムに破線が出るので消したいと思っています
0545デフォルトの名無しさん
2009/05/24(日) 16:45:38独自描画にすれば消せるんじゃないかな。
■ このスレッドは過去ログ倉庫に格納されています