有个服务端A,客户端B,客户端C,程序首先是运行服务端A,客户端B和C都是通过A来调用的,客服端B和C运行后就需要隐藏自己,不让自己的界面显示出来。请问用C#代码如何实现,谢谢!

解决方案 »

  1.   

    Application.HideWindow() 没有这个方法吧用个时钟 窗体加载后启动时钟隐藏窗体 不知道可以不
      

  2.   

    在C#里没有看到Application.HideWindow()该方法,麻烦你检查是否正确,谢谢,最后写个样板代码给我喽,在下感激不尽。
      

  3.   

    this.hide()没有作用,我在代码里面试过
      

  4.   

    最小化,不在任务栏中显示
            Me.WindowState = FormWindowState.Minimized
            Me.ShowInTaskbar = False
                this.WindowState = FormWindowState.Minimized;
                this.ShowInTaskbar = false;
      

  5.   

     this.WindowState = FormWindowState.Minimized;
                this.ShowInTaskbar = false;
    非常感谢你的帮助,这个隐藏的问题就解决了。麻烦你能再告诉我服务端如何发参数到客户端让他隐藏,如何传递参数,然后客户端又如何收到参数。麻烦再给力
      

  6.   


    这种写法有弊端按Tab键 就能看出来了
      

  7.   

    B、C都作对象,封闭个变量进去,在Show之前给变量赋值,Load后取值用
      

  8.   

    B,C监视指定的配置文件,如果发现配置文件里的状态为隐藏,则B,C自动隐藏自己.
    B,C里还可以加入From.Hide()来隐藏窗体.
      

  9.   

    大服务端A中创建新线程,调用B和C中的方法,而不运行B、C的实例//服务端A中的方法
    private: System::Void btnPrtReport_Click(System::Object^  sender, System::EventArgs^  e) 
    { //this->PrintReport();
    ThreadStart^ ts =gcnew ThreadStart(&BackgroundPrint);
    Thread^  newThread= gcnew Thread(ts);
    newThread->SetApartmentState(System::Threading::ApartmentState::STA);
    newThread->Start();
    System::GC::Collect();}
    static void BackgroundPrint()
    {
    ReportPrint^ rp = gcnew ReportPrint();
    //rp->ShowInTaskbar = false;
    //rp->WindowState = System::Windows::Forms::FormWindowState::Minimized;
    rp->workdate = p_lg_workdate; rp->PrintReport(); System::GC::Collect();
    }//客户端B中的公用方法
    public ref class CompleteReport : public System::Windows::Forms::Form
    {

    //报表打印
    void ReportPrint::PrintReport()
    {
    //先检索数据,如果没有数据就提示返回
    ........
    }

    }这是C++中的用法,C#差不多
      

  10.   

       rp->workdate = p_lg_workdate;
    这就是参数传递
      

  11.   

    非常感谢大家的给力!这些问题我都已经解决了。
    我把楼上的:
    Private void LoadMe()
    {
            this.WindowState = FormWindowState.Minimized;
           this.ShowInTaskbar = false;
           timer2.Enabled =true;
    }和定时器两个相结合就完美了
     private void HideMe_Click()
            {
                shouState = 1;
                this.Hide();
                timer2.Enabled = false;
            } private void timer2_Tick(object sender, EventArgs e)
            {
                if (shouState == 0)
                {
                    HideMe_Click();
                }
            }
    这些代码就解决隐藏的问题了,tab键也起不了作用了。
    服务端和客户端的参数通过用配置文件就是实现消息传递了。
    问题解决的很高些,那里跟大家一起分享,希望对大家有帮助,也感谢大家的给力。
    可以结贴了。呵呵!!!