把网页上的数据显示在windowsForm的textbox里

原创 2006年05月17日 13:49:00

问题定义:

        用户在工作中需要把datagrid里的电话号码列其中的一个电话号码复制到windowsForm里的textbox里,然后在winForm里进行操作。由于粗心的用户经常复制错误,所以winForm程序的处理也是错误的。

功能需求:

        为了避免用户复制错误导致程序出错(输入的是垃圾,输出的也是垃圾)。现在决定做一个程序替用户复制。

设计方案:

        在datagrid里加一个模版列,用到html的文本控件,在javascript里引进fso对象,写文本文件。因在B/S系统上采用了Javascript写客户机本地文件的技术,所以需要在客户上设定IE的安全级别内的设置才能顺利在本地硬盘写入临时文件具体设置如下:

    打开IE程序,点菜单工具à选项,打开选项窗口,并点到安全页面。

          点“自定义级别”按钮,打开如下窗口,在“ActiveX控件和插件”列中将“对没有标记为安全的ActiveX控件进行初始化和脚本运行”设为“启用”。

   点击“确定”回到IE窗口即可。

最后,在winForm程序里创建线程读取文件,如果文件不存在,线程终止。

代码编写:

winform里的代码

private void mystart()
  {  
   if(File.Exists("d://phone.txt"))           //文件存不存在??
   {
    if(this.textBox1.Text.Length<11)
    {
     this.read_file();                         //读取文件
     System.Threading.Thread.Sleep(2000);
    }
   }
   else
   {
    System.Threading.Thread.Sleep(1000);//文件不存在,关闭线程
   }
  }
  private void read_file()
  {
   //读取文本文件.
   try
   {
    // StreamReader to read from a file.
    // The using statement also closes the StreamReader.
    using(StreamReader sr=new StreamReader("d://phone.txt"))
    {
     String line;
     while((line=sr.ReadLine())!=null)
     {
      textBox1.Text=textBox1.Text+line;
     }
    }
   }
   catch(Exception ee)
   {
    textBox1.Text=ee.Message.ToString();
   }
  }

private void timer2_Tick(object sender, System.EventArgs e)
  {
   System.Threading.Thread myThread;
   myThread=new System.Threading.Thread(new System.Threading.ThreadStart(mystart));
   myThread.Start();
   //在timer控件里,不停的启动线程。
  }

javascript代码:

<script type="text/javascript">
     function addr(obj)
     {
       var aa=obj;
       var fso,fj;
       fs=new ActiveXObject("Scripting.FileSystemObject");
       fj=fs.CreateTextFile("d://phone.txt",true);
       fj.WriteLine(aa);//写文件。
     } 
</script>

datagrid里的模版列代码。

<asp:TemplateField>
                    <ItemTemplate>
                        <button id="phone" value='<%# DataBinder.Eval(Container.DataItem,"FromTeleNumber") %>' onclick="addr(<%# DataBinder.Eval(Container.DataItem,"FromTeleNumber")%>)">
                        <%# DataBinder.Eval(Container.DataItem, "FromTeleNumber")%>
                        </button>
                    </ItemTemplate>
</asp:TemplateField>
 

这样在datagrid里点击电话号码就可以在winform里的textbox里看到它的值了。

 

当在网页中显示文本过长该怎么办?

当在网页中显示文本过长该怎么办?当我们在设计网页页面的时候,有时候肯定会遇到这种情况,我们要显示的文本超出了我们元素的宽度。这时候调宽元素的width固然是可以的,但是太宽了又不太美观了。我们可能会想...
  • gao36951
  • gao36951
  • 2015年06月06日 23:00
  • 1784

带有提示文字的Textbox和PasswordBox

有时候项目中会遇到需要提示信息的文本框和密码框。例如登录的时候提升“请输入密码”“请输入登录名之类的”。在这儿就写一下,以备将来查用。 首先来看一下带提示的TextBox: 首先,在项目中新建一个用户...
  • yulongguiziyao
  • yulongguiziyao
  • 2015年01月12日 11:00
  • 2046

网页文本编辑器插入网页中无法正常显示运行

问题现象:网页编辑器插入后不能够正常运行 解决办法:浏览器换成兼容模式+选择浏览器版本,或者使用搜狗浏览器+兼容模式 可能程度:基本IE6以上都会会出现此问题 最近在做一个网页,...
  • cheyanxin2009
  • cheyanxin2009
  • 2015年05月29日 07:55
  • 1584

从数据库调出数据显示到页面 PHP+Mysql+Html(简单实例)

无标题文档 table{ border: 1px solid black; border-color:#F06; padding:10px; border-collapse:col...
  • u011026037
  • u011026037
  • 2016年04月03日 16:49
  • 2212

解析JSON数据系列1:在网页上显示Json数据

Json的全称:JavaScriptObjectNotation Json的两种构建结构:“名称/值”对的集合、值的有序列表。 移动客户端(android和iphone)接收返回的...
  • luoshiwutai
  • luoshiwutai
  • 2015年10月10日 21:05
  • 664

SerialPort如何读取串口数据并显示在TextBox上,多线程委托

/* SerialPort中串口数据的读取与写入有较大的不同。由于串口不知道数据何时到达,因此有两种方法可以实现串口数据的读取。一、线程实时读串口;二、事件触发方式实现。 由于线程实时读串口的效率不是...
  • smartsmile2012
  • smartsmile2012
  • 2014年05月27日 15:29
  • 8509

C#之WinForm基础 不改变原有的,向textbox中追加新的内容

慈心积善融学习,技术愿为有情学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。 1、UI 2、代码 using System; using Sy...
  • yushaopu
  • yushaopu
  • 2016年09月21日 21:54
  • 1988

C#窗体中,textbox中数据保存到txt文本中,从文本读取数据到textbox

//在引用里添加 using System.IO;   ///窗体应用类中写方法   //写入 StreamWriter sw=new StreamWriter(TXT文件完整路径); ...
  • dddxxxx
  • dddxxxx
  • 2016年05月12日 16:35
  • 10795

解决textBox实时显示问题

解决textBox实时显示问题
  • u013480539
  • u013480539
  • 2016年11月06日 20:17
  • 1318

C# TextBox换行 自动显示至最后行

转自:http://www.cnblogs.com/lyl6796910/archive/2012/06/01/2530616.html (一)本文将教你如何用C# TextBox换行,也许现在...
  • u012252959
  • u012252959
  • 2016年01月11日 16:00
  • 2773
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:把网页上的数据显示在windowsForm的textbox里
举报原因:
原因补充:

(最多只允许输入30个字)