VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1264|回复: 10

如何在重写的onPaint函数里读取textBox的text?

[复制链接]

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-1-17 22:40:01 | 显示全部楼层 |阅读模式
我定义了一个新类,在类中重写了onPaint函数,类的大致结构如下:
class PlainForm : Form
{
     protected override void OnPaint(PaintEventArgs e)
     {
      ...........
     }
}
在Form1(主窗体)中有一个textBox,需要怎么做才能在重写的onPaint函数里读取textBox的text值?  
回复

使用道具 举报

0

主题

56

帖子

21.00

积分

新手上路

Rank: 1

积分
21.00
发表于 2020-1-23 20:54:02 | 显示全部楼层
就直接TextBox1.Text就可以取道值啊
但是你为什么要在OnPaint里面得到这个值呢 能不能说下你的目的?
回复

使用道具 举报

1

主题

26

帖子

14.00

积分

新手上路

Rank: 1

积分
14.00
发表于 2020-1-23 21:45:01 | 显示全部楼层
试试:
base.TextBox1.Text
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-2-8 07:00:02 | 显示全部楼层
我是想通过重写onPaint绘制一个坐标图,需用用户先输入一些参数。如果直接TextBox1.Text的话会有这样的错误:“Graphic.Form1.textBox1”表示“字段”,此处应为“类”.
如果改为base.TextBox1.Text会出现未定义的错误,有什么办法可以解决吗?
回复

使用道具 举报

0

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-3-6 09:45:02 | 显示全部楼层
把Form1的textBox1声明为public。
然后
Form1 form1 = new Form1();
form1.textBox1.Text = "";
这样。最好是通过给Form1增加一个public的方法或者属性来得到textBox1的值,使用MVC的设计。
回复

使用道具 举报

1

主题

31

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-3-6 16:15:02 | 显示全部楼层
this.textBox1.Text
回复

使用道具 举报

0

主题

31

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-3-7 22:30:01 | 显示全部楼层
问一下,在paint之前,textbox有值了吗?
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-7-13 13:15:01 | 显示全部楼层
多谢各位的帮助,现在可以使用textBox1里的值了,但又产生了另一个问题,如果我在设计时预先给定textBox1的text值,则运行时不管你输入什么传递的都是这个值,如果设计时把这个值设为空,则会出现“输入字符串的格式不正确”的错误,请问这是怎么回事啊?都郁闷死了。
回复

使用道具 举报

1

主题

6

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-7-14 16:45:01 | 显示全部楼层
类型是不是不对呀
回复

使用道具 举报

0

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-7-23 18:15:01 | 显示全部楼层
问下onPaint函数取Textbox的值是用来干嘛的?一般onPaint函数里都不加与界面显示无关的代码,“输入字符串的格式不正确”是在进行什么操作的时候发生的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表