苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 70343|回复: 50

[Winform] form2窗体修改form1窗体内容问题

[复制链接]
发表于 2012-11-21 13:04:55 | 显示全部楼层 |阅读模式
form2窗体修改form1窗体内容问题
这个问题已经有很多人问了,今天我做个例子出来大家看看吧
我们分别建两个窗体
from1
QQ截图20121121125849.png
form2
QQ截图20121121125903.png
下面咱们一起来看看from1的代码吧
[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace from2toform1
{

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2();
            f2.f1 = this;//把当前的Form1给form2中的form1对象
            f2.Show();

        }
        /// <summary>
        /// 添加名称
        /// </summary>
        /// <param name="name">名称</param>
        public void addname(string name)
        {
            richTextBox1.Text += name + "\r\n";
        }
    }
}

再来看看form2的代码
[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace from2toform1
{
    public partial class Form2 : Form
    {
        public Form1 f1 = new Form1();
        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            f1.addname(textBox1.Text.Trim());
        }
    }
}

其实这个呢很简单,只是一个思路问题,我们在调用Form2的时候不能再重new form1要不然就不是一个对象了,所以值会不管用,像我这样就可以了,看看效果
QQ截图20121121125942.png
我们单击一下添加名称看看如下效果
是不是添加进来了,而且是时时的效果。
QQ截图20121121125950.png
好了这个问题就说到这里吧,下面我把代码放上来大家可以直接下载测试
from2toform1.rar (38.39 KB, 下载次数: 503)


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-1-11 09:26:15 | 显示全部楼层
谢谢苏老大的分享,在form1中使用form2 , 在form2中又使用form1,妙!学习了
 楼主| 发表于 2013-1-11 09:52:54 | 显示全部楼层
印醒 发表于 2013-1-11 09:26
谢谢苏老大的分享,在form1中使用form2 , 在form2中又使用form1,妙!学习了

这个其实很简单,只是想法的问题,关键在想法,呵呵
发表于 2013-3-8 14:22:48 | 显示全部楼层
看了 你的想法改了我之前的部分功能,问题是老是出现新的窗口,跟之前的写的窗体间传参一样,图片窗口值需要在单击的时候出现
更多图片 小图 大图
组图打开中,请稍候......
 楼主| 发表于 2013-3-8 14:38:05 | 显示全部楼层
youzi 发表于 2013-3-8 14:22
看了 你的想法改了我之前的部分功能,问题是老是出现新的窗口,跟之前的写的窗体间传参一样,图片窗口值需要 ...

没明白你的意思,我这个例子只是告诉大家两个窗体之前怎么样传值,和你说的在什么情况下显示没有关系吧。
发表于 2013-3-8 14:48:36 | 显示全部楼层
我就想追问如何只打开一个窗体,而窗体内容随着另一个窗体的操作而改变,不是又打开一个窗体。我点击一次小图就出现一个大图片显示的窗体
 楼主| 发表于 2013-3-8 14:55:26 | 显示全部楼层
youzi 发表于 2013-3-8 14:48
我就想追问如何只打开一个窗体,而窗体内容随着另一个窗体的操作而改变,不是又打开一个窗体。我点击一次小 ...

你这个不就是一个图片 放大功能吗?
在A窗体单击小图片,想在出现的B窗体里显示大图对吗?
你这样,在单击A窗体小图片时把大图片的地址付到B窗体然后显示就行了。

发表于 2013-3-8 15:01:44 | 显示全部楼层
admin 发表于 2013-3-8 14:55
你这个不就是一个图片 放大功能吗?
在A窗体单击小图片,想在出现的B窗体里显示大图对吗?
你这样,在 ...

我理解你说的意思,不然我那个放大也显示不出来。我意思是说小图片是一组几十张不等,我先看下一张的大图的时候,点击A窗体的小图片,出来B窗体的大图片了,但是前面点击出来的大图片的窗口还在。一次循环下去,一天就会开很多B这样的看大图的窗口,(因为使用者不想每次还去关闭B,觉得麻烦,所以B就多了)
 楼主| 发表于 2013-3-8 15:09:37 | 显示全部楼层
youzi 发表于 2013-3-8 15:01
我理解你说的意思,不然我那个放大也显示不出来。我意思是说小图片是一组几十张不等,我先看下一张的大图 ...

简单,只打开一个,每次替换一下,每次单击把上次的图片覆盖一下,这样就只显示一个了,
也就是说只有在第一次时新建一个窗体,以后就是覆盖图片了
发表于 2013-3-8 15:13:59 | 显示全部楼层
恩,了解的,我就是思路短路了,你说的我想到了也尝试了(还尝试了B的释放否然后再打开),就是没实现,之前是再窗体加载完毕后把B打开的,但是我需要的是再单击A中的小图才出现的,我就把B的打开写在每次单击中了,但是每次都会在实例化打开一个B
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-23 16:07

© 2014-2021

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