Lenka.Guo 发表于 2017-4-18 16:51:50

您好,通过验证确认, 设计器未提供在该界面增加控件的接口,您可以自定义工具箱
   private static void LoadTools(IToolboxService toolbox,DesignerReportType reportType)
      {
            if (reportType == DesignerReportType.Section)
            {

                foreach (Type type in new Type[]
                {
                  typeof (System.Data.DataSet),
                  typeof (System.Data.DataView),
                  typeof (System.Data.OleDb.OleDbConnection),
                  typeof (System.Data.OleDb.OleDbDataAdapter),
                  typeof (System.Data.Odbc.OdbcConnection),
                  typeof (System.Data.Odbc.OdbcDataAdapter),
                  typeof (System.Data.SqlClient.SqlConnection),
                  typeof (System.Data.SqlClient.SqlDataAdapter),
                  typeof (GrapeCity.ActiveReports.SectionReportModel.TextBox)
                })
                {
                  toolbox.AddToolboxItem(new ToolboxItem(type), Properties.Resources.ToolBoxData);
                }
            }
      }

leo.wei 发表于 2017-4-19 09:40:31

本帖最后由 leo.wei 于 2017-4-19 11:05 编辑

Lenka.Guo 发表于 2017-4-18 16:51
您好,通过验证确认, 设计器未提供在该界面增加控件的接口,您可以自定义工具箱
工具箱自定义的控件 怎么设置该控件拖出的大小及字体等?

Lenka.Guo 发表于 2017-4-19 17:42:15

设置拖拽出来的TextBox的字体可以在LayoutChanging 事件中来修改:private void reportDesigner_LayoutChanging(object sender, LayoutChangingArgs e)
      {
            if (e.Type == LayoutChangeType.ControlAdd
                && e.NewValue.GetType() == typeof(GrapeCity.ActiveReports.SectionReportModel.TextBox))
            {
                GrapeCity.ActiveReports.SectionReportModel.TextBox textBox = (GrapeCity.ActiveReports.SectionReportModel.TextBox)e.NewValue;
                textBox.Font = new System.Drawing.Font("宋体", 20, System.Drawing.FontStyle.Bold);
            }
      }


leo.wei 发表于 2017-5-8 16:50:11

Lenka.Guo 发表于 2017-4-19 17:42
设置拖拽出来的TextBox的字体可以在LayoutChanging 事件中来修改:

为什么字体可以修改 大小尺寸改不了呢

Lenka.Guo 发表于 2017-5-8 17:02:15

您是通过什么代码来修改尺寸无法修改呢?

leo.wei 发表于 2017-5-8 17:28:03

Lenka.Guo 发表于 2017-5-8 17:02
您是通过什么代码来修改尺寸无法修改呢?

private void reportDesigner_LayoutChanging(object sender, LayoutChangingArgs e)
      {
            if (e.Type == LayoutChangeType.ControlAdd
                && e.NewValue.GetType() == typeof(GrapeCity.ActiveReports.PageReportModel.TextBox))
            {
                GrapeCity.ActiveReports.PageReportModel.TextBox textBox = (GrapeCity.ActiveReports.PageReportModel.TextBox)e.NewValue;
                textBox.Width = "7cm";
                textBox.Height = "3cm";
            }
      }

Lenka.Guo 发表于 2017-5-9 12:07:53

您设置了宽度和高度,但是TextBox 的默认是没有边线的,所以预览没有边线,就无法看出实际的效果。
建议设置边线再预览:
var obj = reportPropertyGrid.SelectedObject as GrapeCity.ActiveReports.PageReportModel.TextBox;
            obj.Style.BorderStyle.Top = Expressions.ExpressionInfo.FromString("Solid");

页: 1 [2]
查看完整版本: AR工具箱可以自定义吗?