忍者ブログ
ブログに書かれている内容は、リアルで喋っちゃ駄目だぞっ!
[610] [609] [608] [607] [606] [605] [604] [603] [601] [600] [596]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ねとすた公式にて、09年版OP(4月)が公開されてました。

新年度につきOPの曲とイラストレーターが変わってます。

▼08年度
野中藍  白石涼子

▼09年度
 桃井はるこ  

モモーイのデザインは09年度版の方が良い気がするけど、絵柄は全体的に見れば08年度版の方が好きです。

特に野中藍さんのイラスト、なまら可愛い!! 野中さんの画像はコチラを参照されたし。

■C#プログラミング

1~10万の範囲で素数を求めるプログラムを書いたとき、コレクションのArrayListを使ったら処理が重かったので

List<int>に変えたら、実行時間が30秒から1秒に短縮されました。

素数を求めるアルゴリズムを変更しても0.1秒しか減らなかったので、データ型を変更してこんなに変わるもんなのだと驚きました。

・C#のArrayListとList<>の違い

ArrayList …… 配列の要素数が可変で、どのデータ型でも入る。但し、値を参照するとき型変換が必要。
List<int> …… 配列の要素数が可変で、<>で指定したデータ型だけが入る。この場合はint型のみ。




話は変わって動的コントロールの制御編。

テキストボックスを動的に作り、ユーザーが入力したテキストを取得できず3週間ほど悪戦苦闘してたのですが

デバックして原因を調査したら、一度作成したコントロールを初期化して再度作り直してたのが原因でした。

う~ん、バカだ。


上記バグが解決されたので、次はリソースに埋め込んだ画像ファイルの画面配置を書きました。

これはすぐに出来たのですが、また別の問題が発生。

メニュー枠を画像ファイルとして画面に配置し、その上にテキストを出力させようとしています。

画像ファイル名を指定してpictureBoxで配置し、その上に重ねてラベルを配置します。

すると……




おーぅ、ラベルの背景色が……。

色々と調べてみたのですが、ラベルの背景色を透明に直接指定することは出来ないみたいです。

コントロールの親から背景色を継承する等では、機能に応用が利きません。


仕方が無いので、pictureBox内のメソッドDrawString()を検討してみることに。

画面に配置されているpictureBoxのコントロール名を指定しDrawStringメソッドでテキスト出力するソース書いてます。

が、テキスト描写されねえ OTL

↓現在のソース

        public void drawText(string text, string pictureName)
        {
            if (this.Controls.ContainsKey(pictureName))
            {
                Control[] ctrl = this.Controls.Find(pictureName, false);

                Font fnt = new Font("MS ゴシック", 10);
                ctrl[0].CreateGraphics().DrawString(text, fnt, Brushes.Black, 10, 50);

                fnt.Dispose();
            }
        }


もしかしてDrawStringメソッドの使い方を勘違いしてるんじゃないかと思い、

手動で画面配置した画像に文字を描写してみましたが、こっちは上手くいきました。

  (別プロジェクトで作成)

 う~ん、じゃあ上記ソースの何がいけないのでしょうか……。

 それとも、コチラを参考にラベルの背景を透明にする路線に戻った方が早いでしょうかね。

PR
この記事にコメントする
名前
コメントのタイトル
メール
KKK(きっときっと楓ちゃん)
当ブログは、shuffle!に登場する楓ちゃんを応援しています。
ブログ内検索
アクセス解析
最新コメント
[05/01 盥]
[02/27 めそ…あ、いや、何でもない]
[11/27 レオン]
名雪かわいいよ、名雪

忍者ブログ | [PR]

Design by Dress
Material by tudu*uzu