winform 串口form2 配置并打开串口 form1 接收和发送数据

欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 4364 人关注过本帖
标题:求各位帮帮忙,如何实现按下Form1的button按键能进入到Form2窗体中~~谢谢
等 级:新手上路
&&已结贴√
&&问题点数:20&&回复次数:7&&&
求各位帮帮忙,如何实现按下Form1的button按键能进入到Form2窗体中~~谢谢
求各位帮帮忙,如何实现按下Form1的button按键能进入到Form2窗体中~~谢谢
搜索更多相关主题的帖子:
等 级:蜘蛛侠
帖 子:166
专家分:1190
按下button时,显示form2,关闭form1就可以了
等 级:论坛游民
专家分:13
Form2.Show();
Form1.Hide();
www.xzjmqz.net
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
private void button_click(......)
this.visible=
form2 fm=new form2();&&//实例化
fm.show();&&
[ 本帖最后由 qq 于
15:58 编辑 ]
&&&唯实惟新 至诚致志
等 级:业余侠客
帖 子:75
专家分:201
在button的点击事件下面添加如下代码就行:
Form2 f2 = new Form2();
f2.ShowDialog();
提示:这里的form2应该事先就建立好哦
等 级:论坛游民
专家分:10
如果只是普通的打开from2 用&&form2 fm=new form2();&&//实例化
fm.show();&&我认为4楼的答案适合。f2.ShowDialog();是打开模式窗体吗?谢谢了
等 级:论坛游民
帖 子:25
专家分:18
在button的点击事件下面添加如下代码就行:
Form2 f2 = new Form2();
f2.Show();
Form1 f1 = new Form1();
f1.close();
这里的Form1、Form2应该事先就建立好;这样就转到Form2,Form1也关闭了!呵呵
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
回复 6楼 幸福的果冻
这个你学习一下show()和showdailog()的区别就知道了!
&&&唯实惟新 至诚致志
版权所有,并保留所有权利。
Powered by , Processed in 0.086702 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved51单片机学习笔记:串口接收和发送数据 - 嘎子的博客 - ITeye博客
博客分类:
芯片STC89C52RC
在PC端向单片机发送任意数据后, 单片机向PC端发送4行文本,
由于在windos下,回车换行用\r\n
#include &reg52.h&
#include "MY51.h"
initSer();
//串口初始化
sendFlag = 0;
//未发送数据时
receFlag =0;
//未接受到数据时
TEXT0[] = "****************************\r\n";
//\r\n是回车换行
TEXT1[] = "单片机串口通讯测试\r\n";
TEXT2[] = "\r\n";
TEXT3[] = "****************************\r\n\r\n";//回车换行并空1行
void sendChar(uchar sendValue);
//发送一字节数据
void sendAll(uchar *pValue);
//发送一组数据
void main(void)
initSer();
while(receFlag)
//单片机串口收到任意数据后,开始向PC发送数据
sendAll(TEXT0);
//发送数据
sendAll(TEXT1);
sendAll(TEXT2);
sendAll(TEXT3);
receFlag=0;
//发完了清标志
void serInt() interrupt 4 //中断函数
//如果收到任意数据
//数据的变化让led灯直观反应出来
receFlag=1;
//修改接受标志,便于主函数进入while中发数据
//发送完一个数据
sendFlag = 0;
//清标志位
void sendChar(uchar Value)
//发送一个字节数据
sendFlag = 1;
//设置发送标志位,发一字节就置位
while(sendFlag);
//直到发完数据,将sendFlag清零后,才退出sendChar函数
void sendAll(uchar *pValue) //发送一组数据
while((*pValue) != '\0')
//如果没有发送完毕就继续发
sendChar(*pValue);
//发送1字节数据
//指向下1个字节
void initSer()
//注意:刚上电时,SCON是为0的
TMOD=TMOD|0x20; //T1定时器模式,工作方式2
// 256-(*12*9600))
//属于SCON寄存器
//串口工作方式1,10位异步,波特率可改
//允许串口接收
//开串口中断
//开总中断
//启动定时器
#串口调试工具集合(附测评).rar
浏览 20985
xouou_53320
浏览: 328099 次
void T0_Work()
//T0定时器调用的工作函数
lastSeries 写道前辈,是不是在工作以后连System ...
前辈,是不是在工作以后连System.out.println( ...
chuanwang66 写道不过改了iconv.exe路径也不 ...
正在学习,多谢分享请问Arduino uno如何读取串口数据, 跪求!!!!!
我写了一个关于arduino uno的串口程序,但是实际上我的arduino是一直持续的发送一个数字就是1,但是我的textbox只能收到一个,这是为什么,以下是我的code
using S using System.Collections.G ponentM using System.D using System.D using System.L using System.T using System.Windows.F using System.IO.P
namespace serialDemo { & & public partial class Form1 : Form & & {
& & & & & & & & public Form1() & & & & { & & & & & & InitializeComponent(); & & & & & && & & & & } & & & & private void COMselector_SelectedIndexChanged(object sender, EventArgs e) & & & & { & & & & } & & & & private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) & & & & { & & & & & & textboxReceive.Clear(); & & & & } & & & & private void btnLoad_Click(object sender, EventArgs e) & & & & { & & & & string COM = (COMselector.SelectedItem).ToString(); & & & & &string BR = (BRselector.SelectedItem).ToString(); & & & & &int B = int.Parse(BR); & & & & & & if (COM == &COM3& && B==9600) & & & & & & { & & & & & & & & serialPort1.Close(); & & & & & & & & serialPort1.PortName = COM; & & & & & & & & serialPort1.BaudRate = B; & & & & & & & & serialPort1.Parity = Parity.N & & & & & & & & serialPort1.DataBits = 8; & & & & & & & & serialPort1.StopBits = StopBits.O & & & & & & & & serialPort1.Open(); & & & & & & & & serialPort1.DataReceived += serialPort1_DataR
& & & & & & & & display = & & & & & & & & &if (serialPort1.IsOpen) & & & & & & & & & & LblStatus.Text = &Serial Port is Ready!&;
& & & & & & } & & & & & & else & & & & & & { & & & & & & & & LblStatus.Text = &Serial Port is NOT initialized succesffuly!&; & & & & & & & & serialPort1.Close(); & & & & & & & & display = & & & & & & } & & & & & }
& & & & private void btnReceive_Click(object sender, EventArgs e) & & & & { & & & & & & & & & & & & & &if (display) & & & & & & & & { && & & & & & & & & & & & & & & & & & & & & s = serialPort1.ReadLine(); & & & & & & & & & & textboxReceive.AppendText(s); & & & & & & & & & & textboxReceive.AppendText(&\n&); & & & & & & & & & & & & & & & & & &} & & & & & & & & else & & & & & & & & { & & & & & & & & & & textboxReceive.Clear(); & & & & & & & & & & textboxReceive.AppendText(&Can't receive data due to wrong COM is selected&); & & & & & & & & } & & & & & && & & & & }
& & & & private void StartBtn_Click(object sender, EventArgs e) & & & & { & & & & & & & &MessageBox.Show(&You can start to control Quadcopter&,&Welcome NP Mssion Planner&,MessageBoxButtons.rmation); & & & & }
& & & & private void rectangleShape2_Click(object sender, EventArgs e) & & & & {
& & & & private void textboxReceive_TextChanged(object sender, EventArgs e) & & & & {
& & & & private void PIDChart_Click(object sender, EventArgs e) & & & & { & & & & & & & & & & }
& & & & private void loadbtn_Click(object sender, EventArgs e) & & & & { & & & & & & & & & & & & { & & & & & & & && & & & & & & & & & & int count = 0; & & & & & & & & & & s = serialPort1.ReadLine(); & & & & & & & & & & Console.WriteLine(); & & & & & & & & & & Console.Read(); & & & & & & & & & & this.PIDChart.Series[&Kp&].Points.AddXY(count, s); & & & & & & & & & & count = count + 1; & & & & & & & & } & & & & }
& & & & private void stopbtn_Click(object sender, EventArgs e) & & & & { & & & & & & if (serialPort1.IsOpen) & & & & & & { & & & & & & & & serialPort1.Close(); & & & & & & & & loadbtn.Enabled = & & & & & & & & stopbtn.Enabled = & & & & & & & & textboxReceive.ReadOnly = & & & & & & } & & & & }
& & & & private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) & & & & { & & & & & && & & & & } & & } &&
我觉得 你的C#程序 应该 弄一个线程 去 监听 有没有数据 发过来。。
不然的话就接受一个 1 结束了。
--- 共有 3 条评论 ---
好的,谢谢你啦,以后有问题就还是请你帮我看看哈,谢谢你,
: C# 我也是初学啊,不过,google 一下,还是蛮多教程的。
不好意思,我可以问一个问题么? 因为其实我也是刚开始学C#,所以请问可以告诉我具体一点的关于应该应用一个什么样的线程如何监听呢,或者请问一下,哪里可以学到关于这种方面的知识么? 谢谢你回答我的问题啊!!!谢谢
请问哪位好心人可以帮我解决一下这个问题吗, 感激不尽啊!!!!!!!
各位大神可以帮帮我吗? 因为我在做school project关于无人机方面的,所以用到了无线电串口通讯,但是我现在拿到的数据不可以持续更新,请问是我的arduino uno的问题吗?&
请问有人可以帮我看一下我的程序大概是哪里有问题从而导致只可以收到一次数据么?小女必感激不尽啊,关于这个问题我真的真的很恳求有人看得懂的话帮帮我吧,因为project明天就是最后一天了,在解决不了,恐怕我就pass不了了,拜托拜托!!!!
arduino uno 不是有个串口查看器么
引用来自“idoz”的答案arduino uno 不是有个串口查看器么谢谢你,真的很感谢你帮我看看了一下我的问题,谢谢,我知道那个串口查看器,但是问题是我其实编程了一个GUI(graphical user interface)对不起啊,就是希望你可以帮我看看,然后那个界面我用的是visual studio 2012做的,然后我用arduino编了一个程序放进arduino uno的控制板里面,那个程序就是持续让arduino uno发送一个1,并且我在arduino的串口查看器里面是可以持续接受那个1的,但是我的GUI里面的相应接受数据的textbox里面,却只能显示一个1
拜托拜托,各位如果有懂这方面的话,拜托真的帮我看看一下我的程序有什么问题,还有,关于这个问题,我看到其实貌似是有一个父程序,和子程序的问题,还有存在调用的问题,其实我的问题就是我想在我自己设计的界面的textbox里面持续的读取到最新的接受数据,拜托大家帮帮忙啊,拜托了
引用来自“idoz”的答案arduino uno 不是有个串口查看器么谢谢你,真的很感谢你帮我看看了一下我的问题,谢谢,我知道那个串口查看器,但是问题是我其实编程了一个GUI(graphical user interface)对不起啊,就是希望你可以帮我看看,然后那个界面我用的是visual studio 2012做的,然后我用arduino编了一个程序放进arduino uno的控制板里面,那个程序就是持续让arduino uno发送一个1,并且我在arduino的串口查看器里面是可以持续接受那个1的,但是我的GUI里面的相应接受数据的textbox里面,却只能显示一个1
还有,这就是小女设计的脑残级别的GUI,拜托大家有懂的帮帮忙吧,拜托了!!!!感激不尽啊
两年前有做过串口开发,使用的好像是C# 中的一个控件,加一个Background Worker 来不断刷新数据, 不知道您是怎么实现的。您能收到一个1 表明uno 和您的主机连接畅通,请检查您刷新数据的代码。
--- 共有 1 条评论 ---
好的好的,谢谢您的回答啊,真的很感谢,这些建议真的对我来说都很重要,很好的,再次感谢您对我的问题的分析和建议哈,真的很谢谢您,祝福您啊在winform中窗体之间的交换Form1打开Form2, Form2设置数据关闭并更新Form1中的显示数据,在线等!!
在winform中窗体之间的交换Form1打开Form2, Form2设置数据关闭并更新Form1中的显示数据,在线等!!
编辑:www.fx114.net
本篇文章主要介绍了"在winform中窗体之间的交换Form1打开Form2, Form2设置数据关闭并更新Form1中的显示数据,在线等!!
20buer]",主要涉及到在winform中窗体之间的交换Form1打开Form2, Form2设置数据关闭并更新Form1中的显示数据,在线等!!
20buer]方面的内容,对于在winform中窗体之间的交换Form1打开Form2, Form2设置数据关闭并更新Form1中的显示数据,在线等!!
20buer]感兴趣的同学可以参考一下。
在winform中窗体之间的交换Form1打开Form2,&Form2设置数据关闭并更新Form1中的显示数据数据,在线等!!如果你用的是数据集,在窗体间传递。
Form1&的数据会自动刷新,如果不是
那可以考虑使用上面的方法,
或&&将Form1&的数据刷新方法公开,以Form1&作为对象给&Form2嗯!同意楼上的!将Form1的刷新事件public&&然后在Form2的关闭事件中调用即可Form2关闭之前,将修改以后的数据存入数据库,再更新Form1,再关闭上面说的都可以我不知道你到底要什么样的功能。
按我的理解,可能就是在一个form上要修改数据之类的。按button跳出Form2修改提交。关闭后刷新Form1中数据。
private&void&&button_click()
Form2&&form2=newForm2()
form2.showDialog();
Refresh();
private&void&refresh()//用于重新显示数据
可以在refresh()函数实现重新显示数据的功能。
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:}

我要回帖

更多关于 c winform和串口通信 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信