涕淌居

牛~冬~@~瘋~牛~涕~淌~の~涕~淌~居~~GnuDoyng's Web Log~~~Contact me~niu_dong@msn.com~ICQ:277276843~QQ:123930135~

原创 你是如何处理“对非共享成员的引用要求对象引用”这个问题的?收藏

我们在Visual Basic .NET中编写一个窗体时,实际上是在写一个类,写完后按F5,居然就能运行!原来VB已经自行帮我们创建了这个类的一个实例了,不可思议吧!

你可能觉得这是那么地理所当然,根本无需去理会它吧!呵呵,大多数情况下确实是这样的。但是,如果你在程序中又编写了另外一个窗体并且创建了它的一个实例,你想在新窗体中通过点击一个按键来调用主窗体的某个数据成员或某个方法,你会怎么实现呢?

我先说一个最搓的方案(我想应该是我独创的呵呵):在主窗体中添加一个Timer1控件,Timer1每Tick一次,你就让程序判断一下新窗体的按键是否被按,如果是的话,则调用事件——如果你把Interval值设得小一点就会模拟得很像的。很龌龊是吧?但是我在几个月之前写程序还经常用到这种方法,没办法,那时候没有掌握技术呀!说简单了,我们所有的问题就归结在如何解决“对非共享成员的引用要求对象引用”这个问题。

你可能早就按捺不住地要开骂了,怎么不通过模块中的Sub Main来创建一个主窗体实例呢?是呀,这真是一个可行的办法,的确是可行的——但是并不实际,所以我并不想在这里多说。

大家都看过《骇客帝国》吧?里面的那个坏头子,每次复制了自己,都不忘说几句“Me Me Me”呵呵!对呀,每个窗体的实例就是Me呀!

关键是,怎么把Me传给新窗体呢?动点脑筋,有什么事件是直接把主窗体和新窗体联系在一起的呢?哈当然是新窗体的New的实例构造函数了。虽然这个Sub New默认情况下是没有参数的,不过我知道这个难不倒你啦。你只需重写一下,把重载过的Sub New中的参数设为“ByVal ThisForm As frmMain”,然后定义一个全局变量在Sub New中来接收主窗体的Me就OK啦!

这样的问题,一般的书上是找不到答案的。我不知道是他们觉得这种方法简单得没必要说,还是那些写书的人水平本来就不高。反正,如果你想学东西,就别总是抱着本书躲在家里念,多多关注一下网络资源呵呵。

发表于 @ 2004年10月04日 03:17:00|评论(loading...)

新一篇: 你写的代码遵守命名约定吗? | 旧一篇: “疯牛监管”开发日志

用户操作
[即时聊天] [发私信] [加为好友]
疯牛涕淌
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
疯牛涕淌的公告
123930135~有蝦米代誌請Q我哦! 本blog已搬家...
文章分类
收藏
百科全書
Britannica
Encyclopedia Mythica
Encyclopedia of Philosophy
Encyclopedia.com
MSN Encarta
WIKIPEDIA
大師之家
Code/Tea/Etc...
Mind View
Panopticon Central
Robert Green's VB Blog
Rockford Lhotka
The Mountain of Worthless Information
The VB Team
VB.NET Expert
侯捷網站
話語資源
American Dialects
Ethnologue
Glossary
IPA HTML Entities
Lexicon of Linguistics
The Linguistic Society of America
Übungen Für Deutsch
Word 2 Word
WordNet
Yamada Language Guides
yourDictionary
技術社區
.NET Framework Windows Forms
ASP.NET Heaven
ASP.NET Web
C# Corner
C# Friends
C# Help
Code Guru
Dev Guru
Developer Fusion
DotNet Zone
Got DotNet
MIT開放式課程網頁
Most Valuable Professional
MSDN
SuperSite for Windows
The Code Project
VB Forums
VB Info Zine
VB.NET Heaven
VBCity
中國 Dot Net Nuke
微軟中國社區
外國朋友
Bram Blogs
Дневник elishena
Добре дошли, приятели!
Заметки обалдевшей от счастья матери
友情鏈接
Amoeba原蟲
kgd jeyp
Let's Eat Noodles at Last
Nature Is Restless
YOYO Forever
三生石坊
去日留痕
咖啡愛我
夢想飛翔
天高任我飛
奔騰不息
宜軒品
寧靜*海豚灣
形而上的憂傷
我愛茉莉
我的生活
既生甲何生乙
明天的寂寞
沫言沫語
異域星空
裝配中的腦袋
閩中龍
阿貴
風一代
與我有關
Linguistics Paradise
UÕH UỎNG SANG
閩東語論壇
只是路過
安妮寶貝
微微微笑
存档
软件项目交易
Csdn Blog version 3.1a
Copyright © 疯牛涕淌