简单的窗体抖动托管c++

新建一个项目,在窗体中添加一个按钮控件。然后加入代码。

所有代码如下:

namespace frmdd {

 using namespace System;
 using namespace System::ComponentModel;
 using namespace System::Collections;
 using namespace System::Windows::Forms;
 using namespace System::Data;
 using namespace System::Drawing;

 /// <summary>
 /// Form1 摘要
 ///
 /// 警告: 如果更改此类的名称,则需要更改
 ///          与此类所依赖的所有 .resx 文件关联的托管资源编译器工具的
 ///          “资源文件名”属性。否则,
 ///          设计器将不能与此窗体的关联
 ///          本地化资源正确交互。
 /// </summary>
 public ref class Form1 : public System::Windows::Forms::Form
 {
 public:
  Form1(void)
  {
   InitializeComponent();
   //
   //TODO: 在此处添加构造函数代码
   //
  }

 protected:
  /// <summary>
  /// 清理所有正在使用的资源。
  /// </summary>
  ~Form1()
  {
   if (components)
   {
    delete components;
   }
  }
 private: System::Windows::Forms::Button^  button1;
 private: System::Windows::Forms::TextBox^  textBox1;
 protected:

 private:
  /// <summary>
  /// 必需的设计器变量。
  /// </summary>
  System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
  /// <summary>
  /// 设计器支持所需的方法 - 不要
  /// 使用代码编辑器修改此方法的内容。
  /// </summary>
  void InitializeComponent(void)
  {
   this->button1 = (gcnew System::Windows::Forms::Button());
   this->textBox1 = (gcnew System::Windows::Forms::TextBox());
   this->SuspendLayout();
   //
   // button1
   //
   this->button1->Location = System::Drawing::Point(151, 191);
   this->button1->Name = L"button1";
   this->button1->Size = System::Drawing::Size(75, 23);
   this->button1->TabIndex = 0;
   this->button1->Text = L"button1";
   this->button1->UseVisualStyleBackColor = true;
   this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
   //
   // textBox1
   //
   this->textBox1->Location = System::Drawing::Point(78, 92);
   this->textBox1->Name = L"textBox1";
   this->textBox1->Size = System::Drawing::Size(100, 21);
   this->textBox1->TabIndex = 1;
   //
   // Form1
   //
   this->AutoScaleDimensions = System::Drawing::SizeF(6, 12);
   this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
   this->ClientSize = System::Drawing::Size(292, 266);
   this->Controls->Add(this->textBox1);
   this->Controls->Add(this->button1);
   this->Name = L"Form1";
   this->Text = L"Form1";
   this->ResumeLayout(false);
   this->PerformLayout();

  }
#pragma endregion
  
 private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
             int sc=(int)DateTime::Now.Ticks;
     Random ^ran=gcnew Random(sc);
     this->textBox1->Text=sc.ToString();
            Point point =this->Location;
            for (int i = 0; i < 40; i++)
            {
                this->Location = Point(point.X + ran->Next(8) - 4, point.Y + ran->Next(8) - 4);
    System::Threading::Thread::Sleep(15);
                this->Location = point;
    System::Threading::Thread::Sleep(15);
            }
    }
 };
}

主要写代码就是按钮按下的部分。供学习。

原文地址:https://www.cnblogs.com/jinyuttt/p/1767013.html