richTextBox插入表格
附件:http://files.cnblogs.com/xe2011/richTextBox_InsertTable.rar

插入表格
/// <summary>
/// 插入表格
/// </summary>
/// <param name="richTextBox"></param>
/// <param name="col">行</param>
/// <param name="row">列</param>
/// <param name="AutoSize">=TRUE:自动设置每个单元格的大小</param>
private void InsertTable(RichTextBox richTextBox,int col, int row,bool AutoSize)
{
StringBuilder rtf = new StringBuilder();
rtf.Append(@"{\rtf1 "); //int cellWidth = 1000;//col.1 width =1000
int cellWidth = ; if (AutoSize)
//滚动条出现时 (richTextBox.ClientSize.Width - 滚动条的宽 /列的个数)*15
cellWidth = (richTextBox.ClientSize.Width / row) * ; //15 当ROW值越大 结果差距越大 Text = cellWidth.ToString() ;
for (int i = ; i < col; i++)
{
rtf.Append(@"\trowd");
for (int j = ; j <= row; j++)
rtf.Append(@"\cellx" + (j * cellWidth).ToString());
rtf.Append(@"\intbl \cell \row"); //create row
}
rtf.Append(@"\pard");
rtf.Append(@"}");
richTextBox.SelectedRtf = rtf.ToString();
}
扩展的richTextBox
using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Windows.Forms; namespace richTextBoxTableClass
{
public class CustomRichTextBox : RichTextBox
{ ///支持表格正确粘贴
// P/Invoke declarations
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
private static extern IntPtr LoadLibrary(string path); private static IntPtr moduleHandle; protected override CreateParams CreateParams
{
get
{
if (moduleHandle == IntPtr.Zero)
{
moduleHandle = LoadLibrary("msftedit.dll");
if ((long)moduleHandle < 0x20)
{
throw new Win32Exception(Marshal.GetLastWin32Error(), "Could not load Msftedit.dll");
}
} CreateParams createParams = base.CreateParams;
createParams.ClassName = "RichEdit50W";
if (this.Multiline)
{
if (((this.ScrollBars & RichTextBoxScrollBars.Horizontal) != RichTextBoxScrollBars.None) &&!base.WordWrap)
{
createParams.Style |= 0x100000;
if ((this.ScrollBars & ((RichTextBoxScrollBars)0x10)) != RichTextBoxScrollBars.None)
{
createParams.Style |= 0x2000;
}
}
if ((this.ScrollBars & RichTextBoxScrollBars.Vertical) != RichTextBoxScrollBars.None)
{
createParams.Style |= 0x200000;
if ((this.ScrollBars & ((RichTextBoxScrollBars)0x10)) != RichTextBoxScrollBars.None)
{
createParams.Style |= 0x2000;
}
}
}
if ((BorderStyle.FixedSingle == base.BorderStyle) && ((createParams.Style & 0x800000) != ))
{
createParams.Style &= -;
createParams.ExStyle |= 0x200;
}
return createParams;
}
} }
}
CustomRichTextBox.CS
调用
private void button1_Click(object sender, EventArgs e)
{
InsertTable(richTextBox1, , , false);
InsertTable(richTextBox51,, , false);
}
richTextBox插入表格的更多相关文章
- richTextBox插入表格 完整版
附件 http://files.cnblogs.com/xe2011/richTextBox_InsertTable_Full.rar 调用 richTextBoxTableDlg dlg = new ...
- 地图中插入表格——ArcMap篇
在制作专题图的过程中,不但要有地理要素表示空间位置,经常还要在图的周围制作一些表格数据.这里对ArcMap中的插入方法进行总结. 方法一:插入对象 利用菜单中的"插入"-" ...
- Word里插入表格不带左右边框
插入表格后选中,然后开始-----段落------选择右下角的边框设置,选择无左右边框.
- C# 操作Word文本框——插入表格/读取表格/删除表格
在文本框中,我们可以操作很多元素,如文本.图片.表格等,在本篇文章中将着重介绍如何插入表格到文本框,插入的表格我们可以对表格进行格式化操作来丰富表格内容.此外,对于文本框中的表格内容,我们也可以根据需 ...
- 13LaTeX学习系列之---LaTeX插入表格
目录 目录 前言 (一)插入表格的基础语法 1.说明 2.源代码 3.输出效果 (二)查看文档 目录 本系列是有关LaTeX的学习系列,共计19篇,本章节是第13篇. 前一篇:12LaTeX学习系列之 ...
- 获取刚刚插入表格的这条信息的自增ID
获取刚刚插入表格的这条信息的自增ID var conn=getConnection(); var msql="INSERT INTO " + table +" (&quo ...
- Ueditor 1.4.3 插入表格后无边框无颜色,不能正常显示
在使用Ueditor 插入表格的功能时,发现插入时正常. 但保存到后台后再取出来,表格不能正常显示.查看保存的html代码,发现保存时并未给table 添加border属性.以致于再次取出来时,不能正 ...
- java POI往word文档中指定位置插入表格
1.Service demo import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.a ...
- WPF RichTextBox 插入回车
richtextbox插入回车,开始是这样写的,在win7下运行时没有问题: MyMessageBox.CaretPosition.InsertLineBreak(); MyMessageBox.Ca ...
随机推荐
- STM32内存映射
一.概述 STM32内存映射是STM32的架构的重要组成部分,不可或缺. 二.STM32内存映射图 1.内存映射图--摘自<CM3权威指南> 2.内存映射图--摘自<STM32F10 ...
- C# Post Json数据
public string Post(string Url, string jsonParas) { string strURL = Url; //创建一个HTTP请求 ...
- 我的pch文件
/** * 1. RGB背景色 */ #define PPCOLOR_RGB(r,g,b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue: ...
- 【转载】TCP保活(TCP keepalive)
下图是我遇到tcp keepalive的例子: 以下为转载: TCP保活的缘起 双方建立交互的连接,但是并不是一直存在数据交互,有些连接会在数据交互完毕后,主动释放连接,而有些不会,那么在长时间无数据 ...
- windows远程桌面连接配置
我的电脑 -> 属性 -> 远程 把两个checkbox勾上 运行(win + r) -> 输入secpol.msc回车 -> 找到本地策略 -> 安全选项 ->账 ...
- 【Uvalive 2531】 The K-League (最大流-类似公平分配问题)
[题意] 有n个队伍进行比赛,每场比赛,恰好有一支队伍取胜.一支队伍败.每个队伍需要打的比赛场数相同,给你每个队伍目前已经赢得场数和输得场数,再给你一个矩阵,第 i 行第 j 列 表示队伍 i 和队伍 ...
- *[hackerrank]Tree Covering
https://www.hackerrank.com/contests/illuminati/challenges/tree-covering 这道题先是在上次交流讨论了一下,然后两位百度的朋友先写完 ...
- windows笔记-一个简单的windows GUI应用程序
#include<windows.h> // 编写Windows程序必须包含的头文件 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); ...
- 【CF】310 Div.1 C. Case of Chocolate
线段树的简单题目,做一个离散化,O(lgn)可以找到id.RE了一晚上,额,后来找到了原因. /* 555C */ #include <iostream> #include <str ...
- unicode下各种类型转换CString、string
把最近用到的各种unicode下类型转换总结了一下: 1.string转CString string a=”abc”; CString str=CString(a.c_str()); 或str.for ...