我仿照
http://blog.csdn.net/jhtyt/articles/666108.aspx
这个用VS2003做了一个打印控件
然后把他放在VS2005的网站下面进行打印用户要打印的时候首先要装.net Freamework 1.1
一切正常
但当用户也装了.net freamework 2.0
的时候里面有这一段代码执行没有效果
------------------------------------------------------
foreach(Control c in this.printPreviewDialog1.Controls)
{
if (c is ToolBar)
{
ToolBar tool = (ToolBar)c;
if (tool.Buttons.Count>0)
{
tool.Buttons[0].Visible=false;
}
break;
}
}
printPreviewDialog1.ShowDialog(this);
也就是去掉printPreviewDialog那里面的打印控钮
-----------------------------------------------
以下是在VS2005做印可行的代码
ToolStrip tool = printPreviewDialog1.Controls["toolStrip1"] as ToolStrip;
if (tool != null)
{
tool.Items["printToolStripButton"].Visible = false;
}
----------------------------------------------
我的想法是
.net1.1 做的那个打印显示打印预览上面的工具栏是
toolBar
而.net 2.0 为ToolStrip
因为装了.net2.0让.net1.1的toolbar失效我要怎么办才能让我的.net 1.1的打印控件在装了.net2.0
也可以去掉那个打印预览谢谢PS:可能有人会问做成.net2.0的打印控件不就得了吗?
是的做成.net2.0就没有这个问题
但是让用户装一个.net freamework 2.0 sdk 要有462MB
而一个.net freamework 1.1 为23.2M
详细请看:http://community.csdn.net/Expert/topic/5371/5371385.xml?temp=.9257471
http://blog.csdn.net/jhtyt/articles/666108.aspx
这个用VS2003做了一个打印控件
然后把他放在VS2005的网站下面进行打印用户要打印的时候首先要装.net Freamework 1.1
一切正常
但当用户也装了.net freamework 2.0
的时候里面有这一段代码执行没有效果
------------------------------------------------------
foreach(Control c in this.printPreviewDialog1.Controls)
{
if (c is ToolBar)
{
ToolBar tool = (ToolBar)c;
if (tool.Buttons.Count>0)
{
tool.Buttons[0].Visible=false;
}
break;
}
}
printPreviewDialog1.ShowDialog(this);
也就是去掉printPreviewDialog那里面的打印控钮
-----------------------------------------------
以下是在VS2005做印可行的代码
ToolStrip tool = printPreviewDialog1.Controls["toolStrip1"] as ToolStrip;
if (tool != null)
{
tool.Items["printToolStripButton"].Visible = false;
}
----------------------------------------------
我的想法是
.net1.1 做的那个打印显示打印预览上面的工具栏是
toolBar
而.net 2.0 为ToolStrip
因为装了.net2.0让.net1.1的toolbar失效我要怎么办才能让我的.net 1.1的打印控件在装了.net2.0
也可以去掉那个打印预览谢谢PS:可能有人会问做成.net2.0的打印控件不就得了吗?
是的做成.net2.0就没有这个问题
但是让用户装一个.net freamework 2.0 sdk 要有462MB
而一个.net freamework 1.1 为23.2M
详细请看:http://community.csdn.net/Expert/topic/5371/5371385.xml?temp=.9257471
解决方案 »
- 用什么软件编写asp.net来制作网页最好
- 关于统计文章管理系统中总文章数的问题
- 怎么在cs文件中导入另外一个cs文件定义的常量?
- 请教了,如果将图片导出excel啊?我这个问题有点特殊性,看了好多帖子无法解决!
- 晕,VS2005 beta中页面的designer.cs文件在正式版中如何查看?
- 为什么中文字只能取出两个,而英文的就没有限制
- ieWEB控件TreeView怎么才能把那讨厌的背影色去掉?
- treeview 中找不到Microsoft.Web.UI.WebControls.dll加入的问题
- 如何绑定datagrid的EditTemplate模板列中的DropDownList?
- 關于窗口的處理
- 关于GridView控件的列标题的问题
- 谁有vs_setup.msi传一份给我,谢谢了
因为装了.net2.0让.net1.1的toolbar失效
=====>没太看懂
.net 2.0中也可有 toolbar
我在只有装了.net 1.1的机子上可以正常的去掉那个打印控件
但是我再多装.net 2.0的机子的话那个打印按钮就还会在那里
{ MessageBox.Show(c.GetType().ToString());
这样来看看控件的类型到底是什么
他变成了
System.Window.Form.ToolStrip这相时候
if (c is ToolBar) //这一句就无效了
{
ToolBar tool = (ToolBar)c;
if (tool.Buttons.Count>0)
{
tool.Buttons[0].Visible=false;
}
break;
try
{
ToolStrip tool = printPreviewDialog1.Controls["toolStrip1"] as ToolStrip;
if (tool != null)
{
tool.Items["printToolStripButton"].Visible = false;
}
}
但又提示没有引用ToolStrip
因为VS2003没有这个
是的2003下printPreviewDialog1的按纽在2.0运行时变成toolstrip了然后现在我用
foreach(System.Windows.Forms.Control c in this.printPreviewDialog1.Controls)
{
if(!(c is PrintPreviewControl)) //不显示工具 只想示预览区
{
c.Visible=false;
}
else
{
((PrintPreviewControl)c).Zoom=1; //100%显示
}
}
我用上面的方法把除PrintPreviewControl以外的东西全都Visible=false;
现在在.net 2.0 中可以将上面的工具条去掉
明天到台.net 1.1的看试一下可行不可以谢谢
可以这样.if( c.GetType().ToString() == "System.Window.Form.ToolStrip")
{
c.Visible = false;
}//这样1.1中就不需要引用System.Window.Form.ToolStrip了
if (c.GetType().ToString() == "System.Window.Form.ToolStrip")
{
c.Items["printToolStripButton"].Visible = false; //这一句要怎么改呢
}因为没有引用ToolStrip
所以c就不会有Items[]