C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: クラスライブラリの作り方


(過去ログ 76 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■44716 / inTopicNo.1)  クラスライブラリの作り方
  
□投稿者/ 裕猫 (60回)-(2009/12/16(Wed) 15:49:33)

分類:[C#] 

開発環境
 OS:WindowsXP SP3
 言語:VisualStudio2008Pro C#

いつもお世話になっております。先日印刷文字幅が合わず教えていただきありがとうございました。おかげさまでプログラムはできたのですが
いつも繰り返す部分をクラスライブラリにしたいと考えました。クラスライブラリは何個か作ったのですが、今回印刷部分をクラスライブラリにしようとしたら、あれ?できない。という状況にあたってしましました。

        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            Font F_font = new Font(印刷.F_Font, 印刷.F_SIZE);
            for (int i = 0; i < 1000000; i++)
            {
                if (印刷.Hontai[i] == null) { break; }
                if ((i % 印刷.Peeji) == 0)
                {
                    if (i != 0) { e.HasMorePages = false; }
                    e.HasMorePages = true;
                    for (int X = 0; X < 印刷.P_HD; X++)
                    {
                        if (印刷.Hedda[X] == null)
                        {
                            e.Graphics.DrawString("", F_font, Brushes.Black, 0, X * 印刷.M_PITCH);
                        }
                        else
                        {
                            e.Graphics.DrawString(印刷.Hedda[X], F_font, Brushes.Black, 0, X * 印刷.M_PITCH);
                        }
                    }
                }
                e.Graphics.DrawString(印刷.Hontai[i], F_font, Brushes.Black, 0, (i + 印刷.P_HD + 1) * 印刷.M_PITCH);
            }
            e.HasMorePages = false;
        }

ここの中身を全部クラスライブラリにして
        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
             Print.Insatu.Kaku(string A);
        }
と呼ぶだけにしたいのですが、クラスライブラリの作成場所で
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Print
{
    public class Insatu
    {
        public static void Kaku(string P, System.    
まで書くとコードスニペットでDrawingが出てこない。つーことはできないのか?という状態で止まっています。同じような作りのものでpaintはクラスライブラリ化できたので、できると思うのですが、書き方がどう悪いのかがわかりません。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Print
{
    public class Insatu
    {
        public static void Kaku(string P, System.Drawing.Printing.PrintPageEventArgs e)
    {
            Font F_font = new Font(印刷.F_Font, 印刷.F_SIZE);
            for (int i = 0; i < 1000000; i++)
            {
                if ((i % 印刷.Peeji) == 0)
                {
                    if (i != 0) { e.HasMorePages = false; }
                    e.HasMorePages = true;
                    for (int X = 0; X < 印刷.P_HD; X++)
                    {
                        if (印刷.Hedda[X] == null)
                        {
                            e.Graphics.DrawString("", F_font, Brushes.Black, 0, X * 印刷.M_PITCH);
                        }
                        else
                        {
                            e.Graphics.DrawString(印刷.Hedda[X], F_font, Brushes.Black, 0, X * 印刷.M_PITCH);
                        }
                    }
                }
                e.Graphics.DrawString(印刷.Hontai[i], F_font, Brushes.Black, 0, (i + 印刷.P_HD + 1) * 印刷.M_PITCH);
            }
            e.HasMorePages = false;
        }
    }
}
になればいいと思うのですが、なぜSystem.Drawingがコードスニペットで出てこないのか?原因がわからず困っています。よろしくお願いいたします。

引用返信 編集キー/
■44718 / inTopicNo.2)  Re[1]: クラスライブラリの作り方
□投稿者/ お だ (9回)-(2009/12/16(Wed) 15:59:23)
「System.Drawing.Printing.PrintPageEventArgs クラスを使用したい」ということですよね?
http://msdn.microsoft.com/ja-jp/library/system.drawing.printing.printpageeventargs.aspx

System.Drawing アセンブリを参照設定されていないのではないでしょうか?
Visual Studio の 付属の クラスライブラリ プロジェクト テンプレートでは、System.Drawing は参照設定されていませんので手動で追加する必要があります。
引用返信 編集キー/
■44721 / inTopicNo.3)  Re[2]: クラスライブラリの作り方
□投稿者/ 裕猫 (61回)-(2009/12/16(Wed) 16:19:35)
No44718 (お だ さん) に返信
> 「System.Drawing.Printing.PrintPageEventArgs クラスを使用したい」ということですよね?
> http://msdn.microsoft.com/ja-jp/library/system.drawing.printing.printpageeventargs.aspx
>
> System.Drawing アセンブリを参照設定されていないのではないでしょうか?
> Visual Studio の 付属の クラスライブラリ プロジェクト テンプレートでは、System.Drawing は参照設定されていませんので手動で追加する必要があります。

早速のアドバイスありがとうございます。お察しのとうりです。手動で参照設定したらできました。
> Visual Studio の 付属の クラスライブラリ プロジェクト テンプレートでは、System.Drawing は参照設定されていませんので手動で追加する必要があります。
そうですか知りませんでした。おかげでめどが立ちました。ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -