当前位置: 首页 > wzjs >正文

最好的机票网站建设科技助手

最好的机票网站建设,科技助手,东莞网页设计公司排名,手机做网站软件初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。

源码指引:github源码指引_初级代码游戏的博客-CSDN博客


        前一篇VSTO(C#)Excel开发5:调整表格到一页-CSDN博客

        本篇来研究一下与窗体交互,也就是与普通的C#窗体代码协作。当我们能与普通的C#代码协作我们就可以说可以把原来的程序和Excel整合在一起了。

目录

一、创建一个窗体

二、修改功能区按钮代码来显示窗体

三、效果

四、C#form窗体的基本操作

五、在窗体上显示内容


一、创建一个窗体

        项目上右键-添加-新建项:

        选“窗体(Windows窗体)”,名称可以改可以不改,无关紧要。 我用的名字是“FormFitToOnePage.cs”,生成的类就是FormFitToOnePage。

二、修改功能区按钮代码来显示窗体

        功能区按钮我们已经很熟悉了,新建或者直接在原来的上面改都行。在功能区的代码里添加如下代码:

        功能区的类名我改成了“RibbonFitToOnePage”。第一个红框的代码可以让开发工具自动添加,第二个红框是在类里面添加窗体变量,第三个红框是在功能区加载时创建窗体对象,第四个红框就是在点击按钮时把窗体显示出来。

        为了方便你验证(Ctrl-C、Ctrl-V),上面几句代码如下:

using System.Windows.Forms;
using Microsoft.Office.Tools.Ribbon;namespace ctExcelTools
{public partial class RibbonFitToOnePage{private FormFitToOnePage formFitToOnePage;private void RibbonFitToOnePage_Load(object sender, RibbonUIEventArgs e){formFitToOnePage = new FormFitToOnePage();}private void button1_Click(object sender, RibbonControlEventArgs e){formFitToOnePage.TopMost = true;formFitToOnePage.Show();

三、效果

        添这几句代码应该没什么风险,编译运行点击按钮:

        窗体能够显示,窗体的内容我们后面再说。

        任务栏上是这样的:

        也就是说通过功能区显示的窗体和Excel是可以来回切换的。

四、C#form窗体的基本操作

        C#窗体比MFC方便,但也有些奇怪,form.Show()其实是无模式对话框,点右上角红叉关闭的话对话框就没有了,不能重复显示,为此需要处理FormClosing事件,在事件里写如下代码:

		private void FormFitToOnePage_FormClosing(object sender, FormClosingEventArgs e){e.Cancel = true;this.Hide();}

         先取消关闭事件,然后隐藏窗体,这样就能在用Show来显示了。但是第二次显示的窗体不会显示在顶层,因此需要在显示之前设置为顶层:

			formFitToOnePage.TopMost = true;formFitToOnePage.Show();

        但是这样一来永远在顶层,会遮住我们要看的内容,所以又要在显示之后取消顶层,这样才能把窗口放到后面去,我在按钮事件的最后取消了窗体的顶层显示。

五、在窗体上显示内容

        窗体上增加一个文本框(这不是本主题的内容),因为我们的程序功能很简单,所以把文本框对象改成public就可以在功能区代码里直接使用了:

        添了一个textbox,改了一下Anchor属性,四边绑定,也就是随着窗体大小伸缩,设置为多行和只读。

        红框那一句是窗体设计器添加的,但是是“private”,改成“public”就可以了。 

        功能区按钮的事件代码如下:

		private void button1_Click(object sender, RibbonControlEventArgs e){formFitToOnePage.TopMost = true;formFitToOnePage.Show();string str = "开始操作。。。。。。\r\n";try{Worksheet worksheet = Globals.ThisAddIn.Application.ActiveSheet;Range usedRange = worksheet.UsedRange;str += " UsedRange:" + usedRange.Address + "\r\n";str += " UsedRange.Column:" + usedRange.Column + "\r\n";str += " UsedRange.Columns.Count:" + usedRange.Columns.Count + "\r\n";str += " UsedRange.Row:" + usedRange.Row + "\n";str += " UsedRange.Rows.Count:" + usedRange.Rows.Count + "\r\n";str += " PrintArea:" + worksheet.PageSetup.PrintArea + "\r\n";str += " PaperSize:" + worksheet.PageSetup.PaperSize.ToString() + "\r\n";str += " ChartSize:" + worksheet.PageSetup.ChartSize + "\r\n";str += " Orientation:" + worksheet.PageSetup.Orientation.ToString() + "\r\n";str += " TopMargin:" + worksheet.PageSetup.TopMargin + "\r\n";str += " BottomMargin:" + worksheet.PageSetup.BottomMargin + "\r\n";str += " LeftMargin:" + worksheet.PageSetup.LeftMargin + "\r\n";str += " RightMargin:" + worksheet.PageSetup.RightMargin + "\r\n";str += " Pages:" + worksheet.PageSetup.Pages.Count + "\r\n";//worksheet.PageSetup.Zoom = false;//设置为false才能Fit//worksheet.PageSetup.FitToPagesWide = 1;double originalTotalWidth = 0;double originalTotalHeigh = 0;for (int i = 0; i < usedRange.Columns.Count; ++i){Range colum = worksheet.Columns[usedRange.Column + i];originalTotalWidth += colum.ColumnWidth;}for (int i = 0; i < usedRange.Rows.Count; ++i){Range row = worksheet.Rows[usedRange.Row + i];originalTotalHeigh += row.RowHeight;}str += " originalTotalWidth:" + originalTotalWidth + "\r\n";str += " originalTotalHeigh:" + originalTotalHeigh + "\r\n";str += "操作成功完成\n";}catch (Exception ex){formFitToOnePage.textBox_Info.Text += ex.ToString();}formFitToOnePage.textBox_Info.Text += str;formFitToOnePage.TopMost = false;}

        就是把上一篇显示的内容输出到窗体的文本框里了。

        现在可以切换窗口、关闭窗口、点击按钮重新显示,注意,窗口的文本是追加,会越来越多,也能因此确认窗口只是隐藏了。


下一篇VSTO(C#)Excel开发7:自定义任务窗格-CSDN博客 


(这里是文档结束)

http://www.dtcms.com/wzjs/588396.html

相关文章:

  • 还有用的网站怎么把网站制作成安卓
  • 商城网站设计目标甘肃省级建设主管部门网站
  • 郑州网站推广公司咨询号码之家官网
  • 公司网站怎么规范管理的百度关键词推广帝搜软件
  • 陕西住房和城乡建设厅网站苏州个人网站制作
  • 网站做cdn做网站这么做
  • 漳州市住房与城乡建设部网站百度自媒体平台
  • 做汽车网站潍坊的网站开发公司
  • 网站如何做二级栏目自助建站申请
  • 正规品牌网站设计推荐怎么看网站是dede模板
  • 网站在百度上做推广怎样做详情页模板怎么做
  • 青浦网站招营业员做一休一扫描网站漏洞的软件
  • 单页面网站怎么做网站有个栏目不想被搜索引擎收录要怎么办
  • 帮别人做彩票网站犯法嘛旅游村庄网站建设方案
  • 做网站大作业的心得体会网站后台管理模板psd
  • 致设计网站wp网站模板
  • 电商网站建设方案100例wordpress游戏代码仓鼠
  • 自己的电脑做网站可以吗格斗网页游戏大全
  • google网站优化器网站建设栏目设计
  • 淘宝联盟网站怎么做哪里有零基础网站建设教学公司
  • 辽阳建设网站公司报价如何设计培训课程网页
  • 大专学网站开发与运营陕西建设厅官网首页
  • 子网站 两微一端的建设方案模板建站影响网站的优化排名
  • 百度关键词seo排名杭州seo论坛
  • 网站充值页面模板小程序游戏搭建
  • 找网站推广销氪crm
  • 长春网页制作建站自己做的网站怎么放上网
  • ftp给网站上传图片后图片的链接地址被改了wordpress加密视频
  • 网站修改建设wordpress系统
  • 宣城网站seo诊断微微网站建设