现在用c#做windos应用程序。用vs2003向导生成windows程序框架。
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;namespace WuZiQi
{
public class MainForm : System.Windows.Forms.Form
{
               
          } 
}
在这个程序我自己编写了一个类
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WuZiQi
{
public class Chess
{
               
          } 
}
我在Chess类里想要使用MainForm的控键,但直接使用就提示在不到该控键(列如:(label控键是public属性的)Lable1.text="家")这个问题什么回事。不是同一个命名空间的吗,怎么不能直接访问。我想获得MainForm对象的引用怎么实现。
c#的命名空间是不是与java类似,向上面代码那样就是所以的工程文件,.cs文件等等都在在WuZiQi文件下。还是只是起同一个名字,Chess的代码可以放在别的文件夹下。
还有最后一个问题是,我用鼠标在棋盘上单击一下,就显示我下的棋子,我把棋子的坐标点记下了,我想要把棋子的图象每各规定的时间内扇一下,闪几次之后,才固定下来,该对手下,这个闪几下怎么实现。
希望前辈们帮帮忙,小弟谢了~~

解决方案 »

  1.   

    forms本来就相当于一个容器,你需要继承下来才能实现里面的功能
      

  2.   

    1.改一下你的程序
    using System;
    using System.Drawing;
    using System.Windows.Forms;
    namespace WuZiQi
    {
    public class Chess
    {
                     public static MainForm mform;
                        ......               
              } 
    }你的form.cpp
    namespace WuZiQi
    {
    public class MainForm : System.Windows.Forms.Form
    {
                   ...
                   static void Main(...)
                   {                       chess.mform = new MainFom(); 
                           Application.Run(chess.mform);
                             
                     }
              } 
    }
    在你的chess里
    可以
    void somefunc()
    {
       chess.mform.label1.text = ...}