找回密码
 立即注册

QQ登录

只需一步,快速开始

myh441

论坛元老

13

主题

44

帖子

6353

积分

论坛元老

积分
6353

活字格认证

myh441
论坛元老   /  发表于:2013-3-25 16:07  /   查看:6542  /  回复:9
Format: Bold.

Note: Font and color actions are not supported in the ExecuteAction method.  In order to set font and color properties you should directly access the selected object and set those properties.

这个是文档中DesignerAction Enumeration一章的一句话,
如何用代码实现呢?

还有,VerticalAlign这个属性怎么设?

感觉有一些属性的设置方法是一致的,可能先通过什么方式设置属性,再调用下什么方法?

麻烦dof

9 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-3-25 19:01:00
沙发
myh441 你好

你之前发过一个帖子,如何在添加控件时直接设置某些属性,不知你提到的这个操作时要在什么时机进行。
回复 使用道具 举报
myh441
论坛元老   /  发表于:2013-3-26 09:00:00
板凳
时机是,当打开Designer设计的时候。
相当于右下角,属性设计器,设置VerticalAlign属性。

使用代码this.designer.ExecuteAction(DesignerAction.FormatTextAlignLeft)可以设置TextAlign属性。

但是,没有设置VerticalAlign属性的地方,另外,比如Font和Color也不会设置。
求教。
回复 使用道具 举报
myh441
论坛元老   /  发表于:2013-3-26 09:38:00
地板
向Designer中添加一个按钮,事件如下
GrapeCity.ActiveReports.PageReportModel.TextBox textBox = c as GrapeCity.ActiveReports.PageReportModel.TextBox;
if (textBox != null)
{
       this.designer.ExecuteAction(DesignerAction.FormatTextAlignJustify);
       this.designer.ExecuteAction(DesignerAction.FormatTextAlignRight);
       break;
}
这个是好用的,但是如果把this.designer.ExecuteAction(DesignerAction.FormatTextAlignRight);换成textBox.Style.TextAlign = ExpressionInfo.FromString("Right");就不好用了,是不是需要调用什么方法刷新一下什么的
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-3-26 17:50:00
5#
可以试一试 textBox.TextAlign = HorizontalAlignment.Right; 设置
回复 使用道具 举报
myh441
论坛元老   /  发表于:2013-4-1 11:28:00
6#
GrapeCity.ActiveReports.PageReportModel.TextBox textBox = c as GrapeCity.ActiveReports.PageReportModel.TextBox;
textBox没有TextAlign属性.
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-4-1 16:53:00
7#
这里的 c 是怎么传递过来的呢,能否发个完整点的代码来看看
回复 使用道具 举报
myh441
论坛元老   /  发表于:2013-4-2 14:49:00
8#
private void designer1_SelectionChanged()
        {
            if (this.designer1.Selection.Count > 0)
            {
                GrapeCity.ActiveReports.PageReportModel.TextBox textBox = null;

                foreach (var c in this.designer1.Selection)
                {
                    if (c is GrapeCity.ActiveReports.PageReportModel.TextBox)
                    {
                        textBox = c as GrapeCity.ActiveReports.PageReportModel.TextBox;
                        textBox.Style.VerticalAlign = ExpressionInfo.FromString("Bottom");

                        break;
                    }
                }
            }
        }
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-4-2 19:28:00
9#
myh441 你好

我这边也在调试,现在还没有找到合适的方法来设置VerticalAlign 属性,已有消息之后给你回复。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-4-7 18:48:00
10#
暂无实现以上功能的方法,我已经将该问题提交给产品团队,谢谢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部