如何使用这样的构造函数!!!

问题描述

classDGV_Print{publicclassDataGridViewPrint{privateDataGridView[]dataGridView;privatePrintDocumentprintDocument;privatePageSetupDialogpageSetupDialog;privatePrintPreviewDialogprintPreviewDialog;privateintdgvIndex=0;privateintrowCount=0;privateintcolCount=0;privateintx=0;privateinty=0;inti=0;privateintrowGap=60;privateintleftMargin=50;privateFontfont=newFont("Arial",10);privateFontheadingFont=newFont("Arial",11,FontStyle.Underline);privateFontcaptionFont=newFont("Arial",10,FontStyle.Bold);privateBrushbrush=newSolidBrush(Color.Black);privatestringcellValue="";publicDataGridViewPrint(DataGridView[]dataGridView){this.dataGridView=dataGridView;printDocument=newPrintDocument();printDocument.PrintPage+=newPrintPageEventHandler(this.printDocument_PrintPage);}privatevoidprintDocument_PrintPage(objectsender,System.Drawing.Printing.PrintPageEventArgse){for(;dgvIndex<dataGridView.Length;dgvIndex++){rowCount=dataGridView[dgvIndex].Rows.Count-1;colCount=dataGridView[dgvIndex].ColumnCount;//printheadingsy+=rowGap;x=leftMargin;for(intj=0;j<colCount;j++){if(dataGridView[dgvIndex].Columns[j].Width>0){cellValue=dataGridView[dgvIndex].Columns[j].HeaderText;e.Graphics.FillRectangle(newSolidBrush(Color.LightGray),x,y,dataGridView[dgvIndex].Columns[j].Width,rowGap);e.Graphics.DrawRectangle(Pens.Black,x,y,dataGridView[dgvIndex].Columns[j].Width,rowGap);e.Graphics.DrawString(cellValue,headingFont,brush,x,y);x+=dataGridView[dgvIndex].Columns[j].Width;}}//printallrowsfor(;i<rowCount;i++){y+=rowGap;x=leftMargin;for(intj=0;j<colCount;j++){if(dataGridView[dgvIndex].Columns[j].Width>0){cellValue=dataGridView[dgvIndex].Rows[i].Cells[j].Value.ToString();e.Graphics.DrawRectangle(Pens.Black,x,y,dataGridView[dgvIndex].Columns[j].Width,rowGap);e.Graphics.DrawString(cellValue,font,brush,x,y);x+=dataGridView[dgvIndex].Columns[j].Width;}}if(y>=e.PageBounds.Height-80){//允許多頁打印y=0;e.HasMorePages=true;i++;return;}}y+=rowGap;for(intj=0;j<colCount;j++){e.Graphics.DrawString("",font,brush,x,y);}i=0;}e.HasMorePages=false;}publicPrintDocumentGetPrintDocument(){returnprintDocument;}publicvoidPrint(){try{pageSetupDialog=newPageSetupDialog();pageSetupDialog.Document=printDocument;pageSetupDialog.ShowDialog();printPreviewDialog=newPrintPreviewDialog();printPreviewDialog.Document=printDocument;printPreviewDialog.Height=600;printPreviewDialog.Width=800;printPreviewDialog.ShowDialog();}catch(Exceptione){thrownewException("Printererror."+e.Message);}}}}请问在调用这个DataGridViewPrint的publicDataGridViewPrint(DataGridView[]dataGridView)函数时!!DataGridViewPrint()的括号里面添什么啊!!

解决方案

解决方案二:
DataGridview数组啊。。
解决方案三:
当然是DataGridview类型的数组啊,因为你是这么定义形参的
解决方案四:
引用2楼gsnake2的回复:

当然是DataGridview类型的数组啊,因为你是这么定义形参的

同意楼上

时间: 2024-10-27 00:57:27

如何使用这样的构造函数!!!的相关文章

java中父类与子类, 不同的两个类中的因为构造函数由于递归调用导致栈溢出问题

/* 对于类中对成员变量的初始化和代码块中的代码全部都挪到了构造函数中, 并且是按照java源文件的初始化顺序依次对成员变量进行初始化的,而原构造函数中的代码则移到了构造函数的最后执行 */ import static java.lang.System.out; public class PersonDemo { public static void main(String[] args) { //*********测试父类与子类之间的循环调用的问题 out.println("main1&quo

C++对象模型(一):The Semantics of Constructors The Default Constructor (默认构造函数什么时候会被创建出来)

本文是 Inside The C++ Object Model, Chapter 2的部分读书笔记. C++ Annotated Reference Manual中明确告诉我们: default constructor会在需要的时候被编译器产生出来.注意,这里是编译器需要,而不是程序需要.后来的C++ Standard 95修改了这种说法,但是实质上仍是相同的: For class X, if there is none user declared constrator, one default

为什么不能再构造函数中执行大量的内存分配、文件读写等复杂操作??

问题描述 为什么不能再构造函数中执行大量的内存分配.文件读写等复杂操作?? 大婶们啊:为什么不能再构造函数中执行大量的内存分配.文件读写等复杂操作??? 解决方案 可以啊!谁告诉你不行的? 只是在构造函数做太复杂的操作,当出错时发现错误有时会很困难.特别是定义为全局变量时,程序还没有运行.就出错了. 解决方案二: 构造函数主要进行一些初始化工作,复杂的工作放到成员函数中处理,这样比较符合OOP设计 解决方案三: 以牺牲对象分配的时间来换取代码的简单行· 是可以的·! 但是不推荐 解决方案四: 这

数组对象使用构造函数初始化的问题

问题描述 数组对象使用构造函数初始化的问题 解决方案 楼主你这样写不行的,只有定义的时候才能那么初始化 类里面加个成员函数用来设置变量的值SetValue class student { string name; double score; static int num; static double sum; public: student(string n = "no name", double s = 0):name(n),score(s) { num++; sum += scor

java-PowerMockito来mock 构造函数的问题

问题描述 PowerMockito来mock 构造函数的问题 public class HttpProtocolHandler { private static HttpProtocolHandler httpProtocolHandler = new HttpProtocolHandler(); public static HttpProtocolHandler getInstance() { return httpProtocolHandler; } /** * 私有的构造方法 */ pri

缺省构造函数不能处理隐式超构造函数抛出的异常类型 IOException。必须定义显式构造函数

问题描述 缺省构造函数不能处理隐式超构造函数抛出的异常类型 IOException.必须定义显式构造函数 int lastnum = getNum(source.getProperty(""fileName"")); public static int getNum(String Filename) throws IOException { InputStream myxls; myxls = new FileInputStream(Filename); sr =

在类中使用string类的问题。我定义的构造函数,想把字符串赋给string对象,却实现不了。

问题描述 在类中使用string类的问题.我定义的构造函数,想把字符串赋给string对象,却实现不了. //12.2.ano.h #ifndef STRING2_H_ #define STRING2_H_ #include #include using std::string; using std::cout; using std::cin; using std::endl; class String { private : string str; public : String(); Str

对象的初始化-用函数的返回值初始化一个类对象,这其中用了几次复制构造函数

问题描述 用函数的返回值初始化一个类对象,这其中用了几次复制构造函数 这是我自己写的一段代码#includeusing namespace std;class Example{int num;public:Example(int i){num=i;cout<<""This is construction with parameter.n"";}Example(){num=0;cout<<""This is construc

javascript创建对象之构造函数模式(二)

对上一章节的工厂模式进行代码重写 function Human(name, sex) {             this.name = name;             this.sex = sex;             this.say = function () {                 alert(this.name);             }         }         var man = new Human("汉武大帝", "男&quo

javascript构造函数: JavaScript学习笔记(二十四) 模块创建构造函

 模块创建构造函数(Modules That Create Constructors)在前面的例子中,创建了一个MYAPP.utilities.array对象,但有时候使用构造函数创建你的对象更方便,你也可以使用模块模式实现它.唯一的不同就是在包裹模块的立即执行函数返回一个函数而不是对象.下面这个例子就是模块模式创建一个构造函数 MYAPP.utilities.ArrayMYAPP.namespace('MYAPP.utilities.Array');MYAPP.utilities.Array