ASP.NET编程:C#收集使用编程基本实习题与谜底(九)...
c++是语言,其实C++和java的应用范围根本就不一样的。在java应用的领域内,c++是不合适的。所以微软才搞了C#和Java对抗。编程|收集 1.简述三类二维坐标体系之间的不异点和区分。【解答】
GDI+中的二维笛卡儿坐标体系分为三类:全局坐标体系、页面坐标体系和设备坐标体系。
三类坐标体系的不异点:它们都有坐标原点和向右和向下的x轴和y轴。
三类坐标体系的区分:全局坐标体系能够举行扭转、平移等操纵。页面坐标体系与设备坐标体系都是以设备的左上角为坐标原点,X程度向右为正,Y垂直向下为正。页面坐标体系与设备坐标体系的差别在于X,Y的单元分歧:页面坐标系中的X,Y单元能够恣意设定,如英寸、毫米等;而设备坐标系中,只要一种单元,那就是点(point)大概像素(pixel)。页面坐标系是不克不及变动的,它是一个参照尺度,将全局坐标终极转换为设备坐标。
2.简述创立Graphics类工具的三种办法。
【解答】
(1)在窗体或控件的Paint事务中间接援用Graphics工具。在为窗体创立绘制代码时,一样平常利用此办法猎取对图象的援用。
(2)从以后窗体猎取对Graphics工具的援用。注重这类工具只要在处置以后Windows窗体动静的过程当中无效。假如想在已存在的窗体或控件中画图,可使用此种办法。
(3)从承继自图象的任何工具创立Graphics工具。这个办法合用于必要变动已存在的
图象。
3.同时创立多个矩形并用红黑相间的色彩举行添补。
【解答】
(1)新建一个Windows使用程序,定名为“FillMultiRectangle”,调剂窗体到得当巨细。变动“Form1.cs”为“FormFillMultiRectangle.cs”。
(2)切换到代码体例,增加称号空间援用:
usingSystem.Drawing.Drawing2D;
(3)双击窗体的属性面板里事务页中的Paint事务,增加FormFillMultiRectangle_Paint事务代码。
<P> privatevoidFormFillMultiRetangle_Paint(objectsender,PaintEventArgse)
{
Graphicsg=e.Graphics;
HatchBrushmybrush=newHatchBrush(HatchStyle.Cross,Color.Red,Color.Black);
Rectangle[]rect=
{
newRectangle(0,0,50,100),
newRectangle(50,100,100,50),
newRectangle(150,150,50,100),
};
g.FillRectangles(mybrush,rect);
g.Dispose();
}
(4)了局如图所示。
4.利用Label控件分离以矩形、椭圆和圆形的体例显现图片,并包管图片完整由绘制工具的边框决意。
【解答】
(1)新建一个Windows使用程序,定名为“ShowImageExe”,调剂窗体到得当巨细。变动“Form1.cs”为“FromShowImageExe.cs”。
(2)切换到代码体例,增加称号空间援用:
usingSystem.Drawing.Drawing2D;
(3)增加四个Button控件分离定名为“buttonOpenFile”、“buttonRectangle”、“buttonEllipse”、“buttonRound”,和一个openFileDiolog和label控件。
(4)在Form类下声明两个公有变量filename和flag,分离用来纪录翻开的文件名和判别哪一个按钮的click工夫被触发。
privatestringfilename="";
privateintflag=0;
(5)增加【翻开文件】按钮的click事务
<P> privatevoidbuttonOpenFile_Click(objectsender,EventArgse)
{
openFileDialog1.ShowDialog();
filename=openFileDialog1.FileName;
label1.Refresh();
}
(6)在label1控件的paint事务下增加以下代码:
<P> privatevoidlabel1_Paint(objectsender,PaintEventArgse)
{
if(filename.Trim()=="")
return;
Bitmapmybitmap=newBitmap(filename);
Graphicsg=e.Graphics;
TextureBrushmybrush=newTextureBrush(mybitmap,WrapMode.Clamp);
//包管图片完整由绘制工具的边框决意
switch(flag)
{
case1:
g.FillRectangle(mybrush,label1.ClientRectangle);
break;
case2:
g.FillEllipse(mybrush,label1.ClientRectangle);
break;
case3:
g.FillEllipse(mybrush,(label1.Width-label1.Height)/2,0,label1.Height,label1.Height);
break;
}
}
(7)在其他几个按钮的click事务平分别增加以下代码:
<P> privatevoidbuttonRectangle_Click(objectsender,EventArgse)
{
flag=1;
label1.Refresh();
}
privatevoidbuttonEllipse_Click(objectsender,EventArgse)
{
flag=2;
label1.Refresh();
}
privatevoidbuttonRound_Click(objectsender,EventArgse)
{
flag=3;
label1.Refresh();
}
(8)了局如图所示。
5.使用PictureBox控件和Panel控件完成利用转动条扫瞄年夜图片。
【解答】
因为Picturebox控件在显现图片时不克不及间接利用转动条,以是必需借助Panel控件完成以转动条的体例扫瞄年夜图片。详细操纵步骤以下:
(1)新建一个Windows使用程序,定名为“scrollBar”,调剂窗体到得当巨细。变动“Form1.cs”为“FormScrollBar.cs”。
(2)切换到代码体例,增加称号空间援用:
usingSystem.Drawing.Drawing2D;
(3)在窗体上分离增加一个button控件定名为“buttonOpenFile”,一个openFileDiolog控件,Picturebox和Panel控件各一个,将Panel控件的AutoScroll属性设为true。
(4)在“buttonOpenFile”控件的click事务中增加以下代码:
<P> privatevoidbuttonOpenFile_Click(objectsender,EventArgse)
{
openFileDialog1.ShowDialog();
if(openFileDialog1.FileName.Trim()=="")
return;
try
{
Bitmapmybitmap=newBitmap(openFileDialog1.FileName);
pictureBox1.Image=mybitmap;
}
catch(ExceptionErr)
{
MessageBox.Show("翻开文件毛病!","信息提醒",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
(5)了局如图所示。
6.完成对图片按恣意角度举行扭转、按恣意比例举行缩放、按恣意位移举行平移。
【解答】
(1)在窗体上增加六个label控件(个中label1用来显现图片)、一个button控件(用于翻开图片文件)和五个numericUpDown控件(分离用来选择图片缩放的比例、图片扭转的角度、图片位移的巨细)。
(2)在机关函数上方增加代码:
privatestringstrfilename="";
(3)在button控件的click事务里增加以下代码:
<P> privatevoidbutton1_Click(objectsender,EventArgse)
{
openFileDialog1.ShowDialog();
strfilename=openFileDialog1.FileName;
label1.Refresh();
}
(4)在每个numericUpDown控件的ValueChanged事务中增加以下代码:
label1.Refresh();
(5)在label1控件的paint事务中增加以下代码:
<P> privatevoidlabel1_Paint(objectsender,PaintEventArgse)
{
if(this.strfilename.Trim()=="")
return;
try
{
Bitmapmybitmap=newBitmap(strfilename);
Graphicsg=e.Graphics;
TextureBrushmybrush=newTextureBrush(mybitmap);
floatx=(float)(numericUpDownS1.Value/100);
floaty=(float)(numericUpDownS2.Value/100);
mybrush.ScaleTransform(x,y);
g.FillRectangle(mybrush,0,0,ClientRectangle.Width,ClientRectangle.Height);
floatr=(float)(numericUpDownR1.Value);
mybrush.RotateTransform(r);
g.FillRectangle(mybrush,0,0,ClientRectangle.Width,ClientRectangle.Height);
floattx=(float)(numericUpDownT1.Value);
floatty=(float)(numericUpDownT2.Value);
mybrush.TranslateTransform(tx,ty);
g.FillRectangle(mybrush,0,0,ClientRectangle.Width,ClientRectangle.Height);
}
catch(ExceptionErr)
{
MessageBox.Show("翻开文件毛病!","信息提醒",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
8-8-6
什么叫数据库怎么样?什么意思?你想单学数据库。(其实变成是我问的) 使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。 是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。 众所周知,Windows以易用而出名,也因此占据不少的服务器市场。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
页:
[1]