C#, C♯, C#相談室 Part42 at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
07/08/26 12:42:25
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ
C#, C♯, C#相談室 Part41
スレリンク(tech板)

過去スレは>>2-5あたり。

2:デフォルトの名無しさん
07/08/26 12:45:52
Part41 スレリンク(tech板)
Part40 スレリンク(tech板)
Part39 スレリンク(tech板)
Part37 スレリンク(tech板)
Part37 スレリンク(tech板)
Part36 スレリンク(tech板)
Part35 スレリンク(tech板)
Part34 スレリンク(tech板)
Part33 スレリンク(tech板)
Part32 スレリンク(tech板)
Part31 スレリンク(tech板)
Part30 スレリンク(tech板)
Part29 スレリンク(tech板)
Part28 スレリンク(tech板)
Part27 スレリンク(tech板)


3:デフォルトの名無しさん
07/08/26 12:46:26
Part26 スレリンク(tech板)
Part25 スレリンク(tech板)
Part24 スレリンク(tech板)
Part23 スレリンク(tech板)
Part22 スレリンク(tech板)
Part21 スレリンク(tech板)
Part20 スレリンク(tech板)
Part19 スレリンク(tech板)
Part18 スレリンク(tech板)
Part17 スレリンク(tech板)
Part16 スレリンク(tech板)
Part15 スレリンク(tech板)
Part14 スレリンク(tech板)
Part13 スレリンク(tech板) (ログ行方不明)
Part12 URLリンク(pc5.2ch.net)

4:デフォルトの名無しさん
07/08/26 12:47:15
Part11 URLリンク(pc5.2ch.net)
Part10 URLリンク(pc5.2ch.net)
Part9 URLリンク(pc2.2ch.net)
Part8 URLリンク(pc3.2ch.net)
Part7 URLリンク(pc3.2ch.net)
Part6 URLリンク(pc3.2ch.net)
Part5 URLリンク(pc3.2ch.net)
Part4 URLリンク(pc.2ch.net)
Part3 URLリンク(pc.2ch.net)
Part2 URLリンク(pc.2ch.net)
Part1 URLリンク(pc.2ch.net)


5:デフォルトの名無しさん
07/08/26 12:47:46
Visual C# 2005 Express Edition 日本語版
URLリンク(www.microsoft.com)

ふらっとC♯, C#(初心者用) Part17
スレリンク(tech板)

MSDNライブラリ
URLリンク(msdn.microsoft.com)

MSDN2
URLリンク(msdn2.microsoft.com)

pinvoke.net: the interop wiki!
URLリンク(pinvoke.net)

6:デフォルトの名無しさん
07/08/26 12:48:16
Visual C# Express Edition (無料)ダウンロード
URLリンク(www.microsoft.com)

.NET Framework SDK (2.0)
URLリンク(msdn2.microsoft.com)

MSDN Visual C# Express Edition フォーラム
URLリンク(forums.microsoft.com)
Visual Studio ユーザーグループ
URLリンク(vsug.jp)

@IT Insider.NET
URLリンク(www.atmarkit.co.jp)
Insider.NET 会議室 ディレクトリ
URLリンク(www.atmarkit.co.jp)

宇宙仮面の C# プログラミング / C# Programming
URLリンク(ukamen.hp.infoseek.co.jp)
WisdomSoft C#入門
URLリンク(wisdom.sakura.ne.jp)
WisdomSoft Microsoft .NET入門
URLリンク(black.sakura.ne.jp)
どっとねっとふぁん
URLリンク(dotnetfan.org)
緑のバイク 初めてのC# 〜 覚え書き 〜
URLリンク(homepage3.nifty.com)
どぼん!の .NET Tips
URLリンク(dobon.net)

7:デフォルトの名無しさん
07/08/26 12:48:48
Borland C#Builder2006
URLリンク(www.borland.com)

Turbo C#
URLリンク(www.turboexplorer.com)

.NET Framework 1.1 製品ドキュメント
URLリンク(www.microsoft.com)

MSDN ライブラリ 2006 年 12 月版
URLリンク(www.microsoft.com)


8:デフォルトの名無しさん
07/08/26 13:11:22

てかそろそろ過去ログ列挙しなくてもいいんじゃない?

9:デフォルトの名無しさん
07/08/26 18:00:30
クララが建った

10:デフォルトの名無しさん
07/08/26 18:21:02
997 名前:デフォルトの名無しさん[sage] 投稿日:2007/08/26(日) 12:06:50
Form1.Designer.csにコントロールの座標やら何やらがごちゃごちゃ書かれてるのは変だから
分離しようってだけの自然な流れ

998 名前:デフォルトの名無しさん[sage] 投稿日:2007/08/26(日) 12:12:46
>Form1.Designer.csにコントロールの座標やら何やらがごちゃごちゃ書かれてるのは変だから
え?
本気で言ってるのかな

999 名前:デフォルトの名無しさん[sage] 投稿日:2007/08/26(日) 12:19:32
本気ですとも
反論があればどうぞ

1000 名前:デフォルトの名無しさん[sage] 投稿日:2007/08/26(日) 12:27:13
キモイ


11:デフォルトの名無しさん
07/08/26 18:38:55
むしかえすなよ

12:デフォルトの名無しさん
07/08/26 18:41:36
以下スルー?

13:デフォルトの名無しさん
07/08/26 18:42:06
食いつこうぜ

14:デフォルトの名無しさん
07/08/26 19:15:02
SortedDictionaryに格納されている先頭のKeyの取得の仕方を教えてください。


15:デフォルトの名無しさん
07/08/26 19:20:30
foreach一回目

16:デフォルトの名無しさん
07/08/26 19:20:33
foreachで回して1回目だけメモっておけばよいだけでは?

17:デフォルトの名無しさん
07/08/26 19:28:26
こんな感じですね?

string FirstKey;
foreach (KeyValuePair<string,int> pair in sortedDictionary)
{
 FirstKey = pair.Key;
 break;
}

これしか方法は無いのでしょうか?


18:デフォルトの名無しさん
07/08/26 20:08:29
Enumerator取得して、一個目だけとればいいじゃん。

19:デフォルトの名無しさん
07/08/26 20:41:23
イミナサスw

20:デフォルトの名無しさん
07/08/26 20:42:49
>>18
抽象的なアドバイスなら私にも出来ますが?

21:デフォルトの名無しさん
07/08/26 20:46:34
別に抽象的ではない。
意味ないけどなw

22:デフォルトの名無しさん
07/08/26 20:50:39
こんな感じ?

SortedDictionary<string, string> sd = new SortedDictionary<string, string>();
sd.Add("a", "b");
SortedDictionary<string, string>.Enumerator e = sd.GetEnumerator();
if (e.MoveNext())
MessageBox.Show(e.Current.Key + " : "+e.Current.Value);

23:18じゃないけど
07/08/26 20:52:02
意味ないか?
foreachよりはマシだと思うけど・・・

24:デフォルトの名無しさん
07/08/26 20:53:17
C#3.0 だとこれで取れる。
Console.WriteLine(sd.Keys.First());

25:デフォルトの名無しさん
07/08/27 01:27:47
WebBrowserコントロールでFlashを表示するとFlash内のクリックでのイベントが
が1度目しか実行されないのだけど対処策があるか知りませんか?
コントロールから一度フォーカスを外すとイベントが処理されるようです。
IEコンポーネントを直接使うと問題はないのでコントロールのバグかと思われるのですが。

26:デフォルトの名無しさん
07/08/27 02:18:02
プログラムとは関係ないんだけど、
C#の月刊技術書って何読んでる?
Windows Deveropers Magazineが休刊してから、何も読んでなくて。

27:デフォルトの名無しさん
07/08/27 07:46:08
C#で作った実行ファイルを配布する時って、何の情報があればいいすか
.NET入れとけ、みたいな
つまりユーザー向け実行環境のことで相談なんすが

28:デフォルトの名無しさん
07/08/27 10:10:24
.NET Framework入れとけでおk
.NET2.0なら実行環境は2.0でも3.0でもおkだから今から配るなら3.0入れとけにしとけ

29:28
07/08/27 10:14:31
日本語変だな
今から入れるなら3.0入れとけと言いたかった

30:デフォルトの名無しさん
07/08/27 15:11:53
WindowsUpdateしておけと書く

31:デフォルトの名無しさん
07/08/27 16:46:39
>>30
カスタムでないとインストールされないのでは?


32:デフォルトの名無しさん
07/08/27 18:44:56
vista買えでいいんじゃね

33:デフォルトの名無しさん
07/08/27 20:32:47
そんなソフト誰も使わねえ

34:デフォルトの名無しさん
07/08/27 20:35:20
オブジェクトの現在の状態に対して不適切な引数が与えられて
メソッドの呼び出しが失敗したとき、
ArgumentExceptionとInvalidOperationExceptionのどちらを投げればいいの?

35:デフォルトの名無しさん
07/08/27 20:35:28
誰も使うなでいいんじゃね

36:デフォルトの名無しさん
07/08/27 20:37:16
>>34
おいらはInvalidOperationの方投げる

37:デフォルトの名無しさん
07/08/27 20:41:58
ArgumentExceptionのInnerExceptionにInvalidOperationExceptionを設定したものを
投げる、が正解。

というのは半分冗談だけど、ArgumentExceptionの方適切だと俺は思うけどなー
InvalidOperationExceptionだと現在のステートだと引数に無関係に問答無用で
ダメだという印象を受けるよ

38:デフォルトの名無しさん
07/08/27 20:52:42
引数もoperationの一部だからそんなことないのでは。

ところで全部ApplicationExceptionから派生させろって規則は結局なくなったのか
いつからなくなったんだっけ。

39:デフォルトの名無しさん
07/08/27 21:02:35
2.0からだったかな

40:デフォルトの名無しさん
07/08/27 21:02:48
>>38
その理屈だと、そもそもArgumentExceptionは不要という話にならないか?

41:デフォルトの名無しさん
07/08/27 21:05:37
ガイドラインのInvalidOperationの
> オブジェクトの現在の状態から判断して、プロパティ セットやメソッド呼び出しが不適切な場合は、
> System.InvalidOperationException をスローする必要があります。
をどう解釈するかによるなぁ
むしろメソッド個別の問題か?

42:デフォルトの名無しさん
07/08/27 21:12:08
状態によらず不正な引数が与えられた場合はArgumentExceptionで
それ以外の時はInvalidOperationExceptionとか。

43:38
07/08/27 21:15:26
>>40
俺も書いててそう思った。
でも状態を変更→呼び出しっていう一連の操作のうち状態変更がちゃんと行われてないって考えれば
InvalidOperationといえるような。
でもその瞬間だけみれば引数がおかしいのに他ならないからやっぱArgumentException?

44:デフォルトの名無しさん
07/08/27 21:35:03
.NET Frameworkを見てると>>42が正しそうかな

45:デフォルトの名無しさん
07/08/27 22:26:41
.NET 1.1のアプリって.NET2.0や3.0のフレームワーク入れたら動く?

46:デフォルトの名無しさん
07/08/27 22:34:00
なんとなく動く

47:デフォルトの名無しさん
07/08/27 22:37:00
ことによると動く

48:デフォルトの名無しさん
07/08/27 22:41:02
動く可能性は否定できない

49:デフォルトの名無しさん
07/08/27 22:43:36
もし動かなくても文句言うな

50:デフォルトの名無しさん
07/08/27 22:47:48
.NET 1.1を入れちまえばいいんだろ

51:デフォルトの名無しさん
07/08/27 23:50:52
>38
.NETが2.0になってからApplicationExceptionは派生するなって変わった気がする。

52:デフォルトの名無しさん
07/08/28 00:28:01
フォーム上のコントロールのEnabledをfalseにするとクリック等のイベントが親コントロールに通知されます。
これを通知させないようにする方法はありますでしょうか?

53:デフォルトの名無しさん
07/08/28 10:54:27
渡されたオブジェクトの型を調べて、その型のListを作りたいんだけど<>の中の書き方が分かりません。
教えてえろいひと!

54:デフォルトの名無しさん
07/08/28 11:01:50
まずはお前の肛門拡張からだ

55:デフォルトの名無しさん
07/08/28 11:02:01
Activator.CreateInstance(typeof(List<>).MakeGenericType(obj.GetType()))

56:デフォルトの名無しさん
07/08/28 11:07:02
何がしたいのか知らんが
Type listT=typeof(List<>);
object listHoge=listT.MakeGenericType(typeof(Hoge));

こんな感じじゃなかった?

57:デフォルトの名無しさん
07/08/28 11:07:33
( TДT)ゴメンヨーCreate忘れてた

58:デフォルトの名無しさん
07/08/28 11:13:15
>>53

実行時にしか型がわからないなら、arraylistでobjectに格納すれば
いいんでないの?わざわざジェネリック使う意味がよくわからないけれど。

59:デフォルトの名無しさん
07/08/28 12:27:06
Listよりarraylistの方がいいのかな?
使い分けが良く分かってないのでとりあえずList使おうかな、と

60:デフォルトの名無しさん
07/08/28 13:58:13
引数の型に合わせるためにどうしても必要とかでなければ>>58でいいよ
Listに統一したかったらList<object>にすれば

61:デフォルトの名無しさん
07/08/28 13:59:25
public List<T> CreateList<T>(params T[] objs)
{
 return new List<T>(objs);
}

こうだろ

62:デフォルトの名無しさん
07/08/28 14:11:04
>>61

63:デフォルトの名無しさん
07/08/28 14:13:04
>>61
object value = (Int32)1;
Type type = value.GetType();
MethodInfo method = typeof(Program).GetMethod("CreateList");
MethodInfo generic = method.MakeGenericMethod(type);
Array paramArray = Array.CreateInstance(type, 1);
object list = generic.Invoke(null, new object[] { paramArray });

64:デフォルトの名無しさん
07/08/28 15:30:47
dクス
arraylistでちょっとやってみます

65:デフォルトの名無しさん
07/08/28 15:32:12
ArrayListよりList<object>のほうがいろいろ便利さ

66:デフォルトの名無しさん
07/08/28 16:06:59
もうジェネリックなしでは生きられない
ArrayListでいちいちキャストしてた頃があったなんて信じられない

67:デフォルトの名無しさん
07/08/28 18:33:51
>ArrayListでいちいちキャストしてた頃があったなんて信じられない
もっと地獄なのは、要素型ごとに実装された*Collectionクラス。
たいていIListないし、IEnumerable<T>,ICollection<T>なんてもちろんないし、
しかも未だにあちこちで使われてて実にムカツクんだけど。

68:デフォルトの名無しさん
07/08/28 18:48:49
(´・ω・`)<ねーソケット書く人いる?


69:デフォルトの名無しさん
07/08/28 18:52:05
(・∀・)<いないよー

70:デフォルトの名無しさん
07/08/28 18:53:21
ソケット自体は書いたこと無いな
ソケットを使ったプログラムは書いた事あるけど

71:デフォルトの名無しさん
07/08/28 18:53:54
なんかガキ臭い奴が多くて萎えるなあ。。

ガキは宿題でもやってろよ、と言いたいところだが
最近じゃ2chでガキ臭いこと書いてる奴が40面下げたオッサンだったりする
笑えない状況だからなあ。

72:デフォルトの名無しさん
07/08/28 19:10:21
(´・ω・`)<L2から書くのは、やっぱむり?



73:デフォルトの名無しさん
07/08/28 19:18:09
40のおっさんが2chとかひくww

74:デフォルトの名無しさん
07/08/28 19:34:43
すくなくともC#の範囲じゃ無理っぽ

75:デフォルトの名無しさん
07/08/28 19:47:34
(´・ω・`)<やっぱ、#だけじゃだめか。
>>74
(´・ω・`)ノシ<有り難う。

76:デフォルトの名無しさん
07/08/28 21:19:08
無理じゃねーよ

77:デフォルトの名無しさん
07/08/28 22:06:06
文字列中に2バイトコードが含まれている or 含まれていないって
どういう判別が一番楽かな?
やっぱり正規表現?

78:デフォルトの名無しさん
07/08/28 22:09:22
.NET の文字列はすべて2バイトコードですが何か

79:デフォルトの名無しさん
07/08/28 22:09:51
>>78
あ、ごめん。日本語のひらがなや漢字という意味です。

80:デフォルトの名無しさん
07/08/28 22:13:49
full width alphabet や ラテン拡張文字はどうしましょうか

81:デフォルトの名無しさん
07/08/28 22:14:11
正規表現。

82:デフォルトの名無しさん
07/08/28 22:34:46
>77
Shift_JISでのサイズでも取得すればいいんでない?

83:デフォルトの名無しさん
07/08/28 23:43:32
プログラミング初心者ですが、 C# 2005 Express Edtion を導入してみました。
それで、現在MSのサンプルプログラムで学習中なのですが、
以下のプログラムをビルドするとエラーが発生します。

URLリンク(www.microsoft.com)
「エラー1 ジェネリック 型 'System.Collections.Generic.IEnumerator<T>' の使用には、'1' 型の引数が必要です。」

このエラーの意味が分からないのですが、これはどのように改善したら実行できるのでしょうか?
2003年の記事なので、内部の何かが変わっているのでしょうか?




84:デフォルトの名無しさん
07/08/29 00:14:22
using System.Collections;

85:デフォルトの名無しさん
07/08/29 00:22:01
>>67
>もっと地獄なのは、要素型ごとに実装された*Collectionクラス。

C# 3.0だと拡張メソッドのOfType<T>()でIEnumerable<T>に変換できる。
もうちょい待とうぜ。

var sc = new System.Collections.Specialized.StringCollection();
var list = sc.OfType<string>(); // IEnumerable<string>

86:デフォルトの名無しさん
07/08/29 10:36:17
>>84
うまくいきました。
ありがとうございました。

87:デフォルトの名無しさん
07/08/29 16:14:18
エラーが出るファイルの上の方に

using System.Collections.Generic;

って書いてないかな?
それを

using System.Collections;

に変更すれば直るはず。

88:デフォルトの名無しさん
07/08/29 19:51:34
>>83
なんでこんな変なサンプルを学習に使うの
学習者向けと言うより、「こんなことができるんだよ、すごいでしょ」的なものだろこれ

89:デフォルトの名無しさん
07/08/29 20:37:25
インターネットショートカットがコピーできないんだけど、なんか方法無いでしょうか

90:83
07/08/29 20:38:42
>>87
両方ともなかったので using System.Collections を追加したら動きました。
ありがとうございました。
ただ、リンクチェックを実行すると別のエラーを吐くので調べてます。

>>88
実はリンクチェックソフトを探していてたどり着いたのです
そしてら、VC#では簡単に組めそうではないですか!
驚きと期待で導入し勉強中な訳です
自分好みのリンクチェックソフトを作れたら最高にうれしいのですが・・・甘くはないようですね

91:デフォルトの名無しさん
07/08/29 21:00:12
>>81
intにキャストして256未満か以上って判断もありだよ

92:デフォルトの名無しさん
07/08/29 21:11:15
その発想はなかったわw
いやもちろん嫌味だが

93:デフォルトの名無しさん
07/08/29 21:16:22
一文字ごとに処理しなくちゃいけないときは、これが一番早いんだが

94:デフォルトの名無しさん
07/08/29 21:34:30
それじゃハングルとかアラビア語とかも捕まえちゃうんじゃん?

95:デフォルトの名無しさん
07/08/29 21:34:39
Ĭは2バイトコードなの?

96:デフォルトの名無しさん
07/08/29 21:43:45
>>94
WEBじゃなきゃハングルやアラビア文字考慮する必要が無いシチュエーションなんていくらでも存在するだろ
要は使い分けなんだよ

97:デフォルトの名無しさん
07/08/29 21:51:43
オレの記憶が確かならばここはC#スレであってC言語スレじゃないと思う

98:デフォルトの名無しさん
07/08/29 22:00:27
たしかにC#スレだが、どうしてC言語スレがどうのという話が出てくるんだ?

99:デフォルトの名無しさん
07/08/30 01:34:37
俺様に理解できない話は別言語
でこのスレが間違われやすいのはCスレ。
よって>>97

100:デフォルトの名無しさん
07/08/30 01:40:32
何なのこいつ

101:デフォルトの名無しさん
07/08/30 02:05:06
日本語==別言語

102:デフォルトの名無しさん
07/08/30 02:07:02
>>101
>>99にとってはtrue

103:デフォルトの名無しさん
07/08/30 08:38:09
ToolStripMenuで動的に追加された項目のクリックで処理をしたいのですが、
第一階層目のContextMenuStripではうまくクリックイベントの処理を行えたのですが、
第二階層目のToolStripMenuItemsでDropDownItemsにAddすると、
項目名がひとつしか表示されず、しかもクリックすると、本来ある項目数の数だけ
同じ処理が実行されてしまうような状態にあります。
どのようにすればそれぞれの項目の表示と、適切なクリックイベントの追加ができるようになるか
ご教授いただけないでしょうか。

ToolStripMenuItem items_for_A = new ToolStripMenuItem();
ToolStripMenuItem items_for_B = new ToolStripMenuItem();
Hashtable ht = new Hashtable(); // この中にはいくつかデータがあります

foreach(string ID in ht.keys)

    items_for_A.Text = ID;
    items_for_B.Text = ID;

    // 編集項目
    items_for_A.Click += delegate
    {
        NewForm Frm = new NewForm(ID);
        Frm.Show(); // フォームの表示
    };
    this.ToolStripMenuItemA.DropDownItems.Add(items_for_A);

    items_for_B.Click += delegate
    {
        Program.Hoge(ID); // 処理
    };
    this.ToolStripMenuItemB.DropDownItems.Add(items_for_B);
}

104:デフォルトの名無しさん
07/08/30 09:03:36
>98
>intにキャストして256未満か以上って判断もありだよ
がどう見てもC言語的な考え方だって意味
C#でそんなコードはトリッキーなだけだろ

105:デフォルトの名無しさん
07/08/30 09:59:17
みんなわかってるからスルーでいいのに・・・

106:デフォルトの名無しさん
07/08/30 11:00:01
>>103
ループの中で newしていないからアイテムのインスタンスが一つしかないからだよ
ToolStripMenuItem items_for_A = new ToolStripMenuItem();
ToolStripMenuItem items_for_B = new ToolStripMenuItem();
をループの中に移動してみ

107:デフォルトの名無しさん
07/08/30 12:37:40
>>103
まあ真面目に入門書の一冊も読むべきだね。
基本がぜんぜんなってない感じ。

108:デフォルトの名無しさん
07/08/30 13:14:04
>intにキャストして256未満か以上って判断もありだよ
ワロタ
こういう奴いるよな
ちょっと専門的なことひけらかして、俺すげーだろ的な
こういう奴と仕事したくねー

109:デフォルトの名無しさん
07/08/30 13:24:50
自宅警備員に同僚っているの?

110:デフォルトの名無しさん
07/08/30 13:30:10
>91
馬鹿晒しage

111:デフォルトの名無しさん
07/08/30 13:39:19
>>109
自演乙

112:デフォルトの名無しさん
07/08/30 13:54:45
嫉妬が炸裂するような内容だったんだろうか。

113:デフォルトの名無しさん
07/08/30 14:37:18
嫉妬ってwww本気で言ってそうで笑えんわ・・・

114:デフォルトの名無しさん
07/08/30 14:38:43
嫉妬は勘違いだろ

115:デフォルトの名無しさん
07/08/30 14:45:52
相談スレで相談に対して答えを出しただけで
どうしてここまで叩かれているのだろうか?
C#相談スレの住人の程度が知れる。

116:デフォルトの名無しさん
07/08/30 14:46:57
>>115
   ∧_∧    / ̄ ̄ ̄ ̄ ̄
    (ω・ )ゝ < なんだって?
  ノ/  /     \_____
  ノ ̄ゝ

117:デフォルトの名無しさん
07/08/30 14:48:14
>>115
ヒント:夏休み

118:デフォルトの名無しさん
07/08/30 14:48:34
>115は満月の晩に変身するタイプの人間だろ、間違いなく。

119:デフォルトの名無しさん
07/08/30 14:51:08
間違いがあれば指摘すればいいのに
人格攻撃が始まっちゃうんだもんな

120:デフォルトの名無しさん
07/08/30 15:14:20
単に UTF-16 で U+00?? になる文字は CP932 で1バイトになる文字なのか、
というような問題 (答えは否) のような気がするわけで、C 言語がどうとかいう話に
なるのかよくわからない。

C# の char が Unicode 文字であること、整数型にキャストできること、は C# の
仕様として明記されているわけだし (むしろ c の w_char の方が正体不明)。


121:デフォルトの名無しさん
07/08/30 15:26:22
ごちゃごちゃうるさいスレになってきたなw
API使って出来なければ自作のライブラリを作るのが基本だろう。
なにを訳わからない議論してるんだ?

122:デフォルトの名無しさん
07/08/30 15:33:21
RichTextBox を MS ゴシック で利用していますが、
文字列の一部を Bold にすると、その部分だけ横幅が広くなってしまい、
文字列がずれてしまいます。
Bold にしても文字幅が変わらないようにする方法はないでしょうか?



123:デフォルトの名無しさん
07/08/30 15:34:26
自前で描画するしかないわな

124:デフォルトの名無しさん
07/08/30 15:34:31
まぁセンスの問題だからな

でもIntにキャストするのが賛成のやつは俺の現場に近づかないでくれwwwっうぇwww

125:デフォルトの名無しさん
07/08/30 15:36:51
HALFWIDTH_AND_FULLWIDTH_FORMSとかがあるしなぁ
\u00ff以下とかは流石に適当すぎだろ

126:122
07/08/30 15:58:52
>>123
そうですか><
残念。

ありがとうございました。

127:デフォルトの名無しさん
07/08/30 16:28:48
というか日本語かどうかを識別するベーシックな方法を
誰も教えてないんじゃないか

charのメソッドになんかローカライズ情報を与えると
分かるとかそんなんあったろ

128:デフォルトの名無しさん
07/08/30 16:33:49
>>124
俺様に理解できない話は別言語ってか?

129:デフォルトの名無しさん
07/08/30 16:37:21
.NETってユニコードブロックをサポートしてたっけ?

サポートしてなくても
Hiragana, Katakana, HalfwidthAndFullwidthForms, CJKUnifiedIdeographs, CJKSymbolsAndPunctuation
あたりに含まれてるかどうか不等号で調べればいいだけだけど。

130:129
07/08/30 16:39:58
ああ、正規表現は対応してたね。

131:デフォルトの名無しさん
07/08/30 16:48:26
>128
言語のライブラリに用意されてる機能を自作して悦に入るような奴は狼人間ってこと

132:デフォルトの名無しさん
07/08/30 17:03:04
Encoding.GetBytes() があるから他の方法は認めません、と。
そういう考え方でOKな仕事も多いよね。

133:デフォルトの名無しさん
07/08/30 17:18:27
ま、スマートじゃないわな
マジックナンバーを使うのと同じ臭いがする

134:デフォルトの名無しさん
07/08/30 17:20:23
人を小ばかにして悦に入るようなヤツは何人間?

135:デフォルトの名無しさん
07/08/30 17:25:30
スヘフェニンゲン

136:デフォルトの名無しさん
07/08/30 18:29:22
>>122
MS ゴシックなら1pt下げれば同じになると思う

137:103
07/08/30 18:49:35
>>106
クリック時の挙動がまだきちんとできませんでしたが、今回実現させたいことはできました。
どうもありがとうございました。

>>107
VB6を中途半端に覚えてからしばらくWebアプリのスクリプトに流れて、久々に勉強を兼ねてWinアプリを作ってみたのですが
やっぱりきちんと基本からやり直さないとダメですね。
ご指摘ありです。

138:デフォルトの名無しさん
07/08/30 18:52:54
>>137
次からはふらっと池よ

139:103
07/08/30 19:02:42
>>138
ふらっとも読んでたのですが向こうの>>1を読み飛ばしてしまってました。
そうします。スレ汚し失礼しました。

140:デフォルトの名無しさん
07/08/30 19:24:20
プログラム全くやったことなくてC#覚えなくちゃならなくなったんだけど、
お勧めの参考書教えてください。

141:デフォルトの名無しさん
07/08/30 19:50:54
フラット池

142:デフォルトの名無しさん
07/08/30 20:04:13
Web検索とインテリセンスで何とかなるよ

143:デフォルトの名無しさん
07/08/30 20:38:59
ActiveReports3.0を使った帳票を作成しています。.Net環境はVS2005を使用してます。

現象は、WebViewerを使ってPDF形式の出力をしようとすると、2003ServerEnterpriseだと
普通に出るのですが、2003server R2 StandardだとNo Specify Reportsと出てしまいます。
2台の同じバージョンのサーバーに入れて同じ現象でした。

また、WindowsXPの開発環境では普通に表示できます。似たような事象に出会ったかた
いらっしゃいましたら回避方法をお願いできませんでしょうか。

ここで聞くべきかあれですが、スレ違いでしたら誘導していただけると助かります。

よろしくお願いいたします。


144:デフォルトの名無しさん
07/08/30 20:44:48
勢いでソートしたらここもふらっともかなり上位だし
この板で一番レス数の多い言語はC#ということになりそうだな

145:デフォルトの名無しさん
07/08/30 21:05:05
まあ、C/C++ 出身者から初心者まで、ターゲットの幅が広いし。

146:デフォルトの名無しさん
07/08/30 21:33:06
TabControlの中に、TextBoxを複数配置し、PropetyBindingでデータをバインドしてます。
フォームが閉じられる際に、TextBoxの値が未入力ならアラートを出すようにしてますが、
TextBoxに値があるのにif(TextBox.Text == "")がtrueとなってしまいます。
その際、一度TextBoxが含まれるTabをセレクトすると正常な挙動となります。
どのような問題が考えられますでしょうか?

147:デフォルトの名無しさん
07/08/30 21:52:12
>>77
URLリンク(www.atmarkit.co.jp)

148:デフォルトの名無しさん
07/08/31 10:58:54
ファイルへの書き込みで質問があります。

using (TextWriter stream = createStream(filePath, Encoding.GetEncoding(932))) {
 foreach (string line in hogeList) {
  stream.WriteLine(line);
 }
}

というような感じで、5千万行(約5G)ファイルに書き込むのですが、
3千万行(約3G)ほど書き込んだ所で以下のような例外が出てしまいました。
この例外発生時はディスク容量に余裕がある状態でした。

GetBytes() または GetByteCount() を呼び出す前に、Convert() 操作を完了するか、または Encoder.Reset() を呼び出さなければなりません。エンコーダ '日本語 (シフト JIS)' フォールバック 'System.Text.InternalEncoderBestFitFallback'。
System.ArgumentException: GetBytes() または GetByteCount() を呼び出す前に、Convert() 操作を完了するか、または Encoder.Reset() を呼び出さなければなりません。エンコーダ '日本語 (シフト JIS)' フォールバック 'System.Text.InternalEncoderBestFitFallback'。
場所 System.Text.DBCSCodePageEncoding.GetBytes(Char* chars, Int32 charCount, Byte* bytes, Int32 byteCount, EncoderNLS encoder)
場所 System.Text.EncoderNLS.GetBytes(Char* chars, Int32 charCount, Byte* bytes, Int32 byteCount, Boolean flush)
場所 System.Text.EncoderNLS.GetBytes(Char[] chars, Int32 charIndex, Int32 charCount, Byte[] bytes, Int32 byteIndex, Boolean flush)
場所 System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
場所 System.IO.StreamWriter.Dispose(Boolean disposing)
場所 System.IO.TextWriter.Dispose()

見た感じEncodingの設定でコケてるように見えますが、意味が分りません。
もしかして○ギガ以上のファイルを作れない、といった感じの制限があるのでしょうか。

・Win2000
・VisualC# 2005 ExpressEdition
・.net framework2.0

149:デフォルトの名無しさん
07/08/31 11:47:59
このレスを見たあなたは確実に交通事故に会います

逃れる方法はただ一つ
↓このスレに行き
スレリンク(rcomic板)

    // ̄ ̄ ̄ ̄\ .
   彳丿; /,,,,,,,,\ u lヽ
   入丿 -◎─◎- ;ヽミ.             
    | u:.:: (●:.:.●) u:.::|      
    |  :∴) 3 (∴.:: |   か、か、葛西なんてダサいよね♪
  ノ ヽ、   ,___,. u . ノ、   や、や、やっぱり大阪の川島が最強だよ♪
>>255-256
( ´,_ゝ`)
理論で勝てないからって恥かし過ぎw
何処をどう見ても川島厨の理論が破綻し過ぎw
川島厨の特徴 恥かしくも自分の事を川島派と名乗る
一生懸命書いた恥かしい>>151-152を誰も納得してくれないので拗ねてる
早く病院行けっつううのwww
いい加減コピペ止めろ、葛西厨装った川島厨!!
>>377
↑はいはいコピペ乙
コピペしてる奴は、その内容関係なしに、川島厨の荒らしだって事はとっくにバレてんだよ!
>>151-152の直後といい、>>255-256の直後といい、先にコピペ荒らしすんのは、常に川島厨からだからだ!!
分かったか?カス!! 反論できないからってここまで荒らすか?
好きなだけ荒らせば?このスレは元々お前を隔離する為のスレだし


と書き込んでください。書き込まなければ確実に明日交通事故にあいますよ


150:デフォルトの名無しさん
07/08/31 12:33:22
コピペ君って馬鹿だな、まで読んだ。

151:デフォルトの名無しさん
07/08/31 14:48:56
宿題が終わってません、まで読んだ。

152:デフォルトの名無しさん
07/08/31 15:44:47
>>148
line に CP932 に属さない文字があるんじゃない?

153:デフォルトの名無しさん
07/08/31 16:27:52
Action<T>のメソッドを可変に指定することは出来ないの?

154:デフォルトの名無しさん
07/08/31 16:35:47
質問の意味が分かりません。

155:デフォルトの名無しさん
07/08/31 17:45:35
・Action<T1, T2>を自分で定義する
・Action<object>を使う
・Action<string> action = delegate(string x){};などとして引数にactionを渡す
自分の想像力の範囲で挙げてみた

156:デフォルトの名無しさん
07/08/31 17:59:05
>148
private void button1_Click(object sender, EventArgs e)
{
  using (StreamWriter stream = new StreamWriter(@"c:\hage.txt", false, Encoding.GetEncoding(932))) {
    for (int i = 0; i < 100000000; i++) {
      stream.WriteLine("12345678901234567890123456789012345678901234567890\n");
    }
  }
}

を実行したら2G書いたところでで落ちた
Encoder.Resetのヘルプ見たらなんとなく理由は分かった気がするけど解決法はシラネ

157:デフォルトの名無しさん
07/08/31 18:11:29
一気に書き込まずに、時々ストリームを閉じてappendで追記すればOK。

158:デフォルトの名無しさん
07/08/31 18:34:19
スーパーバイザーコールはCPU占有するから、処理を一気に行うのは良くない。

159:デフォルトの名無しさん
07/08/31 18:53:46
ご存知の方いたらよろしくおながいします。

【開発環境】
visual studio 2005 、言語はC#です

【やりたいこと】
・「クラス名」を変数として、newしたい
(newする対象となるクラスを可変にしたい、ということです)

【例:正しいコードではないけど、やりたいことのイメージ】

// newしたいクラス名を引数として、newしたクラスインスタンスを返す関数
object getCreatedClass(string iClassName) {
return new iClassName();
}

ClassExample1 ex = getCreatedClass("ClassExample1 "); // ClassExample1 を作る
ClassExample2 ex = getCreatedClass("ClassExample2 "); // ClassExample2 を作る

※ 「ClassExample1 ex = new ClassExample1()」でダメなの?と思われるかもしれませんが、
上の関数はあくまで簡潔にした例で、実際にはgetCreatedClass内で
new以外にも、クラス名を使った処理をしたいのです。


160:デフォルトの名無しさん
07/08/31 18:59:46
リフレクションでググれ

161:デフォルトの名無しさん
07/08/31 19:20:56
またそれか
Activator.CreateInstance
そんなことそんなに頻繁に行われることなの?
やるとしてもちゃんとわかってる人がやるものじゃないの?

162:デフォルトの名無しさん
07/08/31 19:59:49
いまの現場にいるオレよりキャリア長いけどよく分かってない人はリフレクション大好きだぜ

163:148
07/08/31 20:42:26
>>152
156さんの例もあるので、CP932絡みの問題ではないようです。

>>156
やはり落ちましたか。
根本的な解決ではないですが、とりあえずファイルを分割して
最後にDOSコマンドで連結する事で逃げることにしました。

>>157
なるほど。その発想はありませんでした。試してみます。

164:デフォルトの名無しさん
07/08/31 20:47:44
ネイティブのDLLから、バイナリ列を取得したいのですが、
バイト配列のマーシャリングは、どうすればよいのでしょうか?
BOOL native_func(LPBYTE pBuff, DWORD dwBuffSize, LPDWORD lpByteReturned);

文字列や構造体のサンプルはいくつか見つけたのですが。。


165:デフォルトの名無しさん
07/08/31 21:06:31
面倒なときはメモリ確保してIntPtrで渡して帰ってきたらMarshal.Copy

166:デフォルトの名無しさん
07/08/31 21:09:31
>>164
MSDNライブラリ読んで理解できないのなら(まあ、君は最初から読んでなさそうだけど)
やらない方がいいんじゃないの?
人に聞くような難解な話とも俺には思えないから言うんだけど。
でないと危険だと思うけどね。

それとも、分からないことや意図しない動作に遭遇する度にいちいち人に聞くつもり?

167:デフォルトの名無しさん
07/08/31 21:17:12
unsafeでもいいならfixedでできたっけ

168:164
07/08/31 21:24:24
>166
ありがとう。
System.Array で受けようとしてはまっていました。
Blittable型は、特別なコーディングいらないってことなので、
[DllImport("LargeBuffer.dll")]
private extern static bool native_func(
byte[] pBuff,
uint dwBuffSize,,
out uint lpByteReturned
);
で、
とりあえず、大きな 領域を new byte[] して取得してから、
Arrayにセットするようにしました。


169:デフォルトの名無しさん
07/08/31 21:24:33
bool native_func(byte[] pBuff, int dwBuffSize, [out] int lpByteReturned);

で良いんじゃなかったっけ?

170:デフォルトの名無しさん
07/08/31 21:25:23
おっと、失礼。

171:デフォルトの名無しさん
07/08/31 21:31:56
>>166
おまえはそんなことを言うためにこのスレにきてんの?

172:デフォルトの名無しさん
07/08/31 21:37:49
当然だろ。

173:デフォルトの名無しさん
07/08/31 21:40:11
マーシャリングは適当にググると各々やり方が微妙に違ってたりするんだよな
俺はよく迷う

まぁMSDNみろよって話に収束するんだけどさ

174:デフォルトの名無しさん
07/08/31 21:46:31
正解が一つじゃないからな

175:デフォルトの名無しさん
07/08/31 23:46:03
COMインターフェイスの定義もね。。

引数がCOMインターフェイスへのポインタの場合、
objectで汎用的にしてるとか
IntPtrにしてほっとかれてるときとか
特定のインターフェイスに決め打ちしてるときとか。。


176:デフォルトの名無しさん
07/09/01 00:48:21
ネット上の共有フォルダにおいてあるmdbファイルにJetでアクセスするツールをC#で作って、何ヶ月も放置
していたのだけど、久しぶりに使ったら、エラーになって使えなくなってました。

読み取りはできるのだけど、書き込みでエラーになります。
mdbファイルをローカルにおいてもだめでした。

他のPCからだと、同じexeとmdbで、正常に動いているので、Windowsの設定や環境のせいだと思うのだけど、
なにか心当たりのある人いませんか?

177:デフォルトの名無しさん
07/09/01 01:39:12
>>176
MDBを修復してみる

178:デフォルトの名無しさん
07/09/01 15:31:49
C#でアプリ作ってます。

今、NumericUpDownコントロールの値を増減すると、その値でフォントの大きさを増減するプログラムを
作りたいと考えています。

この場合、全コントロールのフォントサイズを一括で増減させるようなプログラムって
可能なのでしょうか?

一つ一つフォントサイズを指定しなおさないといけないのでしょうか?

179:デフォルトの名無しさん
07/09/01 15:34:49
君がc#やドトネトのライブラリの作者なら、そんな特殊な需要を満たすための
foolproofな方法をわざわざ用意するだろうか?

180:デフォルトの名無しさん
07/09/01 15:48:23
コントロールのFontプロパティはアンビエントプロパティだから
いっちゃん親のFontを変えれば
特別にフォントが指定されてないコントロールは同じになるよ

181:デフォルトの名無しさん
07/09/01 15:53:39
>>179
よう、fool

182:178
07/09/01 16:27:40
>>180
早速ぐぐってみます。
ありがとうございます。


183:デフォルトの名無しさん
07/09/01 19:22:51
>179
foolproofってなんて意味?

184:デフォルトの名無しさん
07/09/01 19:41:35

どなたか Gilma (=ILMerge のGUIツール) および ILMerge を使ってる方が
居たら教えてください。

スレリンク(tech板:853-854番)

で質問していたのですが、お答え得られず。こちらでどなたかわかる方いたら
お願いしたく。よろしく。


185:デフォルトの名無しさん
07/09/01 21:20:28
>>183
Google使えないのか?

186:デフォルトの名無しさん
07/09/01 22:56:47
>185
使える
>179に答えて欲しいだけ

187:デフォルトの名無しさん
07/09/02 00:16:53
C#などのIRCって今稼動してるのないのかな?
海外みたく、活発な交流をして色々な知識を吸収したいと思っているんだが

188:デフォルトの名無しさん
07/09/02 00:54:59
>>187
すいません、海外ってどんなところで活発に交流しているのですか?
よかったらおしえてください


189:デフォルトの名無しさん
07/09/02 00:56:03
特定のフォルダから、特定のフォルダにコピーしたいんだけど、
なんか手っ取り早くGUIで残り何秒とか表示する方法ないかな。

エクスプローラのコピーコマンドとかあるかなっておもったが、
explorer.extって特定のフォルダを表示するしか出来ないのね・・・


190:デフォルトの名無しさん
07/09/02 00:56:23
>>180
ところで、アンビエントプロパティで親から引き継がれてるか、
個別に設定されてるかを確認する方法ってないんかな?


191:デフォルトの名無しさん
07/09/02 00:59:53
>>189
Microsoft.VisualBasic.FileIO.FileSystem でも使ってればいいんじゃない

192:デフォルトの名無しさん
07/09/02 01:01:32
>>176
エラーの内容くらい書けバカ

193:デフォルトの名無しさん
07/09/02 01:03:58
>>189
SHFileOperation使う。
でもVBのライブラリ参照したらその機能あった気がするのでそっちのがいいかな?



194:デフォルトの名無しさん
07/09/02 01:04:31
>>192
そこまで書いてるんだから
エラーの内容くらい想像しろバカ

195:187
07/09/02 01:05:49
>>188

URLリンク(d.hatena.ne.jp)

こちらのブログを見ていただければわかるかと。

196:189
07/09/02 01:06:45
>>191 マジありがとう
調べてみるよ

197:デフォルトの名無しさん
07/09/02 01:10:38
.NETで書かれた商用アプリってありますか?

どうも、.NETでかかれたものを金出してまで使おうとは思えん

198:デフォルトの名無しさん
07/09/02 01:18:38
あるよ

199:189
07/09/02 01:31:54
ありがとう。 やりたいことは
Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory(
@"C:\test\", @"e:\", UIOption.AllDialogs

でいけそうだ。

でも、このメソッド、ダイアログを表示して、かつ自動的に上書きという
引数はないんですね・・・

上書きだけか、ダイアログを表示するだけか、しかない

出来れは自動的に上書きして、進行状況がわかればうれしいんですが…


200:デフォルトの名無しさん
07/09/02 01:39:16
>>197
コピペ?



201:デフォルトの名無しさん
07/09/02 01:47:38
>197
そう思う理由を教えてくれ

202:デフォルトの名無しさん
07/09/02 02:20:21
1.1のFormsで書かれた商品なら動かしたことがあるが、
リストに毎回描画するから糞重たくてむかついたことはある。
結局、最終的にアプリの出来はスキルで待ったく別物が出来上がるんだと
つくづく感じた。

203:デフォルトの名無しさん
07/09/02 02:22:49
PCがしょぼいんだろ

204:デフォルトの名無しさん
07/09/02 08:31:16
ユーザー固有のスタートメニューのフォルダは
Environment.GetFolderPath(Environment.SpecialFolder.StartMenu))
で取得できますが、
全ユーザー共通のスタートメニューのフォルダを
取得するメソッドは用意されていないのでしょうか?

ユーザー固有のスタートメニューのパスに含まれるユーザー名を
All Usersに置き換えればいいような気もしますが、
あらゆる環境で動くかどうか心配なので、
できれば、あらかじめ用意されている方法を使いたいと思っています。

205:デフォルトの名無しさん
07/09/02 11:07:38
SpecialFolder列挙体には含まれてないやつがあるし
実行時にenumの範囲チェックしやがるので
SHGetFolderPathを直に使うしかないと思う

206:デフォルトの名無しさん
07/09/02 16:25:56
インストーラ自作?

207:デフォルトの名無しさん
07/09/02 17:40:56
.NETで書かれたSDJEditorを使ってみたが、.NETの先が見えた気がした

EmEditorに比べるとほんと鼻くそ

やっぱ.NETで有名なネイティブアプリに勝つなんて無理でしょうか?

208:デフォルトの名無しさん
07/09/02 17:42:10
工作員必死だな

209:デフォルトの名無しさん
07/09/02 18:44:52
比較対象がEmEditorなんだ。
秀丸と比べるとほんと鼻くそだよね>Em

210:デフォルトの名無しさん
07/09/02 18:50:27
逆だな

211:デフォルトの名無しさん
07/09/02 20:07:14
サクラが一番

212:デフォルトの名無しさん
07/09/02 20:17:19
エディタなんてVisual Studioでいいじゃん

213:デフォルトの名無しさん
07/09/02 20:32:23
コーディングはVSでやってるけど
.txtなんかはEmEditorに関連付けてる

214:デフォルトの名無しさん
07/09/02 20:57:01
WebBrowserコントロールでMouseUpイベントを取ることは出来ないんですかね。
MouseDownは取れます。以下はVBですが。
URLリンク(homepage1.nifty.com)

Spy++で見てもLBUTTONUPとか表示されないので、そもそもムリなんですかねぇ。

215:デフォルトの名無しさん
07/09/02 21:42:12
>>207
アプリ&開発者が違うのに、開発ツールを比較するか?w

216:デフォルトの名無しさん
07/09/02 23:39:06
>>197
.net framework + 在庫管理や工程管理でぐぐったら出てくるよ。



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4329日前に更新/133 KB
担当:undef