开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
forked from ewin66/QueueSystem
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
QueueSystem
/
QueueClient
/
ReportManager
/
PreviewControlEx.cs
QueueSystem
/
QueueClient
/
ReportManager
/
PreviewControlEx.cs
PreviewControlEx.cs 8.81 KB
一键复制 编辑 原始数据 按行查看 历史
Ace 提交于 2018年02月05日 16:47 +08:00 . 首次代码上传
using System;
using System.ComponentModel;
using System.Drawing.Printing;
using System.Reflection;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using FastReport.Preview;
using FastReport.Utils;
using ReportManager.Properties;
namespace ReportManager
{
public class PreviewControlEx : PreviewControl
{
private ButtonItem btnDesign;
private ComboBoxItem cmb;
private LabelItem lab;
public event Action<object> BeforePrint;
public event Action<object> AfterPrint;
public bool PrintButtonVisible
{
get
{
return this.ToolBar.Items["btnPrint"].Visible;
}
set
{
this.ToolBar.Items["btnPrint"].Visible = value;
}
}
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "GetKeyState")]
public static extern int GetKeyState(int nVirtKey);
public PreviewControlEx()
{
this.ToolBar.Items["btnPrint"].Click += new System.EventHandler((obj, args) =>
{
if (AfterPrint != null)
this.AfterPrint(obj);
});
this.ToolBar.Items["btnPrint"].MouseUp += new System.Windows.Forms.MouseEventHandler((obj, args) =>
{
if (BeforePrint != null)
this.BeforePrint(obj);
});
lab = new LabelItem("labStyle", "外观样式");
lab.ItemAlignment = eItemAlignment.Far;
cmb = new DevComponents.DotNetBar.ComboBoxItem("cmbStyle");
cmb.Items.AddRange(System.Enum.GetNames(typeof(UIStyle)));
cmb.ComboWidth = 125;
cmb.SelectedIndexChanged += new System.EventHandler(cmb_SelectedIndexChanged);
cmb.SelectedIndex = 0;
if (PrintManager.CanDesign)
{
lab.BeginGroup = true;
btnDesign = new ButtonItem("btnDesign", "设计报表");
btnDesign.ItemAlignment = eItemAlignment.Far;
btnDesign.ButtonStyle = eButtonStyle.ImageAndText;
btnDesign.Image = Resources.Design;
btnDesign.Click += new System.EventHandler(btnDesign_Click);
this.ToolBar.Items.Add(btnDesign);
}
this.ToolBar.Items.Add(lab);
this.ToolBar.Items.Add(cmb);
this.PageChanged += PreviewControlEx_PageChanged;
}
ContextMenuBar barMain;
ButtonItem itemRoot, item3, item4;
ComboBoxItem item1, item2;
TextBoxItem item5;
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Control tabControl = this.GetType().BaseType.GetField("tabControl",
BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.ExactBinding)
.GetValue(this) as Control;
barMain = new ContextMenuBar();
itemRoot = new ButtonItem("Root");
item1 = new ComboBoxItem("item1");
item1.Text = "显示比例";
ButtonItem btn1 = new ButtonItem("b1", "标准");
ButtonItem btn2 = new ButtonItem("b2", "适应");
ButtonItem btn3 = new ButtonItem("b3", "页面宽度");
item1.Items.AddRange(new BaseItem[] { btn1, btn2, btn3 });
item1.ComboWidth = 80;
item1.DropDownStyle = ComboBoxStyle.DropDownList;
item1.SelectedIndex = 0;
item1.Click += (obj, args) =>
{
switch (item1.SelectedIndex)
{
case 0: this.Zoom = 1f; break;
case 1: this.ZoomWholePage(); break;
case 2: this.ZoomPageWidth(); break;
default: break;
}
};
item2 = new ComboBoxItem("item2");
item2.Text = "页面位置";
ButtonItem btn4 = new ButtonItem("b4", "前一页");
ButtonItem btn5 = new ButtonItem("b5", "后一页");
ButtonItem btn6 = new ButtonItem("b7", "首页");
ButtonItem btn7 = new ButtonItem("b8", "尾页");
item2.Items.AddRange(new BaseItem[] { btn4, btn5, btn6, btn7 });
item2.ComboWidth = 80;
item2.DropDownStyle = ComboBoxStyle.DropDownList;
item2.SelectedIndex = 0;
item2.Click += (obj, args) =>
{
switch (item2.SelectedIndex)
{
case 0: this.Prior(); break;
case 1: this.Next(); break;
case 2: this.First(); break;
case 3: this.Last(); break;
default: break;
}
};
item3 = new ButtonItem("item3");
item3.BeginGroup = true;
item3.Text = "打印";
item3.Image = Res.GetImage(195);
item3.Click += (obj, args) =>
{
this.Print();
};
item4 = new ButtonItem("item4");
item4.Text = "打印当前页";
item4.Click += (obj, args) =>
{
this.Report.PrintSettings.PageNumbers = this.PageNo.ToString();
this.Report.PrintSettings.PageRange = FastReport.PageRange.PageNumbers;
this.Report.Print();
this.Report.PrintSettings.PageNumbers = "";
this.Report.PrintSettings.PageRange = FastReport.PageRange.All;
};
item5 = new TextBoxItem("item5");
item5.Text = "页码范围";
item5.Click += (obj, args) =>
{
try
{
this.Report.PrintSettings.PageNumbers = item5.ControlText;
this.Report.PrintSettings.PageRange = FastReport.PageRange.PageNumbers;
this.Report.Print();
this.Report.PrintSettings.PageNumbers = "";
this.Report.PrintSettings.PageRange = FastReport.PageRange.All;
}
catch
{
MessageBoxEx.Show("输入的页码范围无效,请核对后重试", "提示");
}
};
itemRoot.SubItems.AddRange(new BaseItem[] { item1, item2, item3, item4, item5 });
barMain.SetContextMenuEx(tabControl, itemRoot);
this.Controls.Add(barMain);
tabControl.Controls[0].MouseDown += (obj, args) =>
{
itemRoot.ClosePopup();
};
//tabControl.Controls[0].LostFocus += (obj, args) =>
//{
// itemRoot.ClosePopup();
//};
}
void PreviewControlEx_PageChanged(object sender, EventArgs e)
{
this.PageChanged -= PreviewControlEx_PageChanged;
//此后Report已经进行绑定
#region 释放资源
foreach (var datasource in this.Report.Dictionary.DataSources)
{
EventHandlerList list = typeof(Component).GetProperty("Events",
BindingFlags.Instance | BindingFlags.GetProperty | BindingFlags.NonPublic | BindingFlags.ExactBinding)
.GetValue(datasource, null) as EventHandlerList;
object head = typeof(EventHandlerList).GetField("head",
BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.ExactBinding)
.GetValue(list);
if (head == null)
continue;
Type tp = typeof(EventHandlerList).Assembly.GetType("System.ComponentModel.EventHandlerList+ListEntry");
object key = tp.GetField("key",
BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.ExactBinding)
.GetValue(head);
Delegate del = tp.GetField("handler",
BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.ExactBinding)
.GetValue(head) as Delegate;
list.RemoveHandler(key, del);
}
#endregion
if ((GetKeyState((int)System.Windows.Forms.Keys.D) & 0x8000) != 0)
{
btnDesign_Click(this.btnDesign, EventArgs.Empty);
}
}
private void btnDesign_Click(object sender, System.EventArgs e)
{
using (DesignerEx de = new DesignerEx(this.Report))
{
de.ShowDialog();
}
}
private void cmb_SelectedIndexChanged(object sender, System.EventArgs e)
{
this.UIStyle = (UIStyle)System.Enum.Parse(typeof(UIStyle), cmb.SelectedItem.ToString());
this.lab.Style = (eDotNetBarStyle)this.UIStyle;
this.cmb.Style = (eDotNetBarStyle)this.UIStyle;
}
}
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

已投入使用的排队叫号系统
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xiaoking/QueueSystem.git
git@gitee.com:xiaoking/QueueSystem.git
xiaoking
QueueSystem
QueueSystem
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /