FrmReceiveMessage.vb
上传用户:ynjin1970
上传日期:2014-10-13
资源大小:6438k
文件大小:12k
源码类别:

中间件编程

开发平台:

Visual C++

  1. Public Class Form1
  2.     Inherits System.Windows.Forms.Form
  3. #Region " Windows 窗体设计器生成的代码 "
  4.     Public Sub New()
  5.         MyBase.New()
  6.         '该调用是 Windows 窗体设计器所必需的。
  7.         InitializeComponent()
  8.         '在 InitializeComponent() 调用之后添加任何初始化
  9.     End Sub
  10.     '窗体重写处置以清理组件列表。
  11.     Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  12.         If disposing Then
  13.             If Not (components Is Nothing) Then
  14.                 components.Dispose()
  15.             End If
  16.         End If
  17.         MyBase.Dispose(disposing)
  18.     End Sub
  19.     'Windows 窗体设计器所必需的
  20.     Private components As System.ComponentModel.IContainer
  21.     '注意:以下过程是 Windows 窗体设计器所必需的
  22.     '可以使用 Windows 窗体设计器修改此过程。
  23.     '不要使用代码编辑器修改它。
  24.     Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
  25.     Friend WithEvents Label1 As System.Windows.Forms.Label
  26.     Friend WithEvents Label2 As System.Windows.Forms.Label
  27.     Friend WithEvents Label3 As System.Windows.Forms.Label
  28.     Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
  29.     Friend WithEvents dtpBirthDate As System.Windows.Forms.DateTimePicker
  30.     Friend WithEvents TxtName As System.Windows.Forms.TextBox
  31.     Friend WithEvents Label4 As System.Windows.Forms.Label
  32.     Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
  33.     Friend WithEvents rbMale As System.Windows.Forms.RadioButton
  34.     Friend WithEvents rbFemale As System.Windows.Forms.RadioButton
  35.     Friend WithEvents txtSalary As System.Windows.Forms.TextBox
  36.     Friend WithEvents Label5 As System.Windows.Forms.Label
  37.     Friend WithEvents txtBirthPlace As System.Windows.Forms.TextBox
  38.     Friend WithEvents Label7 As System.Windows.Forms.Label
  39.     Friend WithEvents txtQueueName As System.Windows.Forms.TextBox
  40.     Friend WithEvents btnReceive As System.Windows.Forms.Button
  41.     Friend WithEvents txtAge As System.Windows.Forms.TextBox
  42.     Friend WithEvents Label6 As System.Windows.Forms.Label
  43.     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  44.         Me.GroupBox1 = New System.Windows.Forms.GroupBox()
  45.         Me.txtBirthPlace = New System.Windows.Forms.TextBox()
  46.         Me.Label5 = New System.Windows.Forms.Label()
  47.         Me.GroupBox2 = New System.Windows.Forms.GroupBox()
  48.         Me.rbMale = New System.Windows.Forms.RadioButton()
  49.         Me.rbFemale = New System.Windows.Forms.RadioButton()
  50.         Me.Label4 = New System.Windows.Forms.Label()
  51.         Me.txtSalary = New System.Windows.Forms.TextBox()
  52.         Me.Label3 = New System.Windows.Forms.Label()
  53.         Me.dtpBirthDate = New System.Windows.Forms.DateTimePicker()
  54.         Me.Label2 = New System.Windows.Forms.Label()
  55.         Me.TxtName = New System.Windows.Forms.TextBox()
  56.         Me.Label1 = New System.Windows.Forms.Label()
  57.         Me.btnReceive = New System.Windows.Forms.Button()
  58.         Me.GroupBox3 = New System.Windows.Forms.GroupBox()
  59.         Me.txtQueueName = New System.Windows.Forms.TextBox()
  60.         Me.Label7 = New System.Windows.Forms.Label()
  61.         Me.txtAge = New System.Windows.Forms.TextBox()
  62.         Me.Label6 = New System.Windows.Forms.Label()
  63.         Me.GroupBox1.SuspendLayout()
  64.         Me.GroupBox2.SuspendLayout()
  65.         Me.GroupBox3.SuspendLayout()
  66.         Me.SuspendLayout()
  67.         '
  68.         'GroupBox1
  69.         '
  70.         Me.GroupBox1.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label6, Me.txtAge, Me.txtBirthPlace, Me.Label5, Me.GroupBox2, Me.Label4, Me.txtSalary, Me.Label3, Me.dtpBirthDate, Me.Label2, Me.TxtName, Me.Label1})
  71.         Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Fill
  72.         Me.GroupBox1.Name = "GroupBox1"
  73.         Me.GroupBox1.Size = New System.Drawing.Size(368, 277)
  74.         Me.GroupBox1.TabIndex = 0
  75.         Me.GroupBox1.TabStop = False
  76.         Me.GroupBox1.Text = "个人信息"
  77.         '
  78.         'txtBirthPlace
  79.         '
  80.         Me.txtBirthPlace.Enabled = False
  81.         Me.txtBirthPlace.Location = New System.Drawing.Point(80, 192)
  82.         Me.txtBirthPlace.Name = "txtBirthPlace"
  83.         Me.txtBirthPlace.Size = New System.Drawing.Size(264, 21)
  84.         Me.txtBirthPlace.TabIndex = 12
  85.         Me.txtBirthPlace.Text = ""
  86.         '
  87.         'Label5
  88.         '
  89.         Me.Label5.AutoSize = True
  90.         Me.Label5.Location = New System.Drawing.Point(15, 192)
  91.         Me.Label5.Name = "Label5"
  92.         Me.Label5.Size = New System.Drawing.Size(54, 14)
  93.         Me.Label5.TabIndex = 11
  94.         Me.Label5.Text = "出生地址"
  95.         '
  96.         'GroupBox2
  97.         '
  98.         Me.GroupBox2.Controls.AddRange(New System.Windows.Forms.Control() {Me.rbMale, Me.rbFemale})
  99.         Me.GroupBox2.Enabled = False
  100.         Me.GroupBox2.Location = New System.Drawing.Point(80, 96)
  101.         Me.GroupBox2.Name = "GroupBox2"
  102.         Me.GroupBox2.Size = New System.Drawing.Size(144, 40)
  103.         Me.GroupBox2.TabIndex = 10
  104.         Me.GroupBox2.TabStop = False
  105.         '
  106.         'rbMale
  107.         '
  108.         Me.rbMale.Checked = True
  109.         Me.rbMale.Location = New System.Drawing.Point(24, 8)
  110.         Me.rbMale.Name = "rbMale"
  111.         Me.rbMale.Size = New System.Drawing.Size(40, 24)
  112.         Me.rbMale.TabIndex = 8
  113.         Me.rbMale.TabStop = True
  114.         Me.rbMale.Text = "男"
  115.         '
  116.         'rbFemale
  117.         '
  118.         Me.rbFemale.Location = New System.Drawing.Point(96, 8)
  119.         Me.rbFemale.Name = "rbFemale"
  120.         Me.rbFemale.Size = New System.Drawing.Size(32, 24)
  121.         Me.rbFemale.TabIndex = 9
  122.         Me.rbFemale.Text = "女"
  123.         '
  124.         'Label4
  125.         '
  126.         Me.Label4.AutoSize = True
  127.         Me.Label4.Location = New System.Drawing.Point(40, 104)
  128.         Me.Label4.Name = "Label4"
  129.         Me.Label4.Size = New System.Drawing.Size(29, 14)
  130.         Me.Label4.TabIndex = 6
  131.         Me.Label4.Text = "性别"
  132.         '
  133.         'txtSalary
  134.         '
  135.         Me.txtSalary.Enabled = False
  136.         Me.txtSalary.Location = New System.Drawing.Point(80, 152)
  137.         Me.txtSalary.Name = "txtSalary"
  138.         Me.txtSalary.Size = New System.Drawing.Size(56, 21)
  139.         Me.txtSalary.TabIndex = 5
  140.         Me.txtSalary.Text = ""
  141.         '
  142.         'Label3
  143.         '
  144.         Me.Label3.AutoSize = True
  145.         Me.Label3.Location = New System.Drawing.Point(27, 152)
  146.         Me.Label3.Name = "Label3"
  147.         Me.Label3.Size = New System.Drawing.Size(42, 14)
  148.         Me.Label3.TabIndex = 4
  149.         Me.Label3.Text = "月工资"
  150.         '
  151.         'dtpBirthDate
  152.         '
  153.         Me.dtpBirthDate.Enabled = False
  154.         Me.dtpBirthDate.Location = New System.Drawing.Point(80, 64)
  155.         Me.dtpBirthDate.Name = "dtpBirthDate"
  156.         Me.dtpBirthDate.Size = New System.Drawing.Size(144, 21)
  157.         Me.dtpBirthDate.TabIndex = 3
  158.         Me.dtpBirthDate.Value = New Date(1999, 1, 1, 0, 0, 0, 0)
  159.         '
  160.         'Label2
  161.         '
  162.         Me.Label2.AutoSize = True
  163.         Me.Label2.Location = New System.Drawing.Point(15, 64)
  164.         Me.Label2.Name = "Label2"
  165.         Me.Label2.Size = New System.Drawing.Size(54, 14)
  166.         Me.Label2.TabIndex = 2
  167.         Me.Label2.Text = "出生日期"
  168.         '
  169.         'TxtName
  170.         '
  171.         Me.TxtName.Enabled = False
  172.         Me.TxtName.Location = New System.Drawing.Point(80, 24)
  173.         Me.TxtName.Name = "TxtName"
  174.         Me.TxtName.Size = New System.Drawing.Size(144, 21)
  175.         Me.TxtName.TabIndex = 1
  176.         Me.TxtName.Text = ""
  177.         '
  178.         'Label1
  179.         '
  180.         Me.Label1.AutoSize = True
  181.         Me.Label1.Location = New System.Drawing.Point(40, 24)
  182.         Me.Label1.Name = "Label1"
  183.         Me.Label1.Size = New System.Drawing.Size(29, 14)
  184.         Me.Label1.TabIndex = 0
  185.         Me.Label1.Text = "姓名"
  186.         '
  187.         'btnReceive
  188.         '
  189.         Me.btnReceive.Dock = System.Windows.Forms.DockStyle.Right
  190.         Me.btnReceive.Location = New System.Drawing.Point(309, 17)
  191.         Me.btnReceive.Name = "btnReceive"
  192.         Me.btnReceive.Size = New System.Drawing.Size(56, 36)
  193.         Me.btnReceive.TabIndex = 0
  194.         Me.btnReceive.Text = "接受"
  195.         '
  196.         'GroupBox3
  197.         '
  198.         Me.GroupBox3.Controls.AddRange(New System.Windows.Forms.Control() {Me.txtQueueName, Me.Label7, Me.btnReceive})
  199.         Me.GroupBox3.Dock = System.Windows.Forms.DockStyle.Bottom
  200.         Me.GroupBox3.Location = New System.Drawing.Point(0, 221)
  201.         Me.GroupBox3.Name = "GroupBox3"
  202.         Me.GroupBox3.Size = New System.Drawing.Size(368, 56)
  203.         Me.GroupBox3.TabIndex = 2
  204.         Me.GroupBox3.TabStop = False
  205.         '
  206.         'txtQueueName
  207.         '
  208.         Me.txtQueueName.Location = New System.Drawing.Point(96, 24)
  209.         Me.txtQueueName.Name = "txtQueueName"
  210.         Me.txtQueueName.Size = New System.Drawing.Size(104, 21)
  211.         Me.txtQueueName.TabIndex = 4
  212.         Me.txtQueueName.Text = "PersonInfo"
  213.         '
  214.         'Label7
  215.         '
  216.         Me.Label7.AutoSize = True
  217.         Me.Label7.Location = New System.Drawing.Point(16, 32)
  218.         Me.Label7.Name = "Label7"
  219.         Me.Label7.Size = New System.Drawing.Size(66, 14)
  220.         Me.Label7.TabIndex = 3
  221.         Me.Label7.Text = "私有队列名"
  222.         '
  223.         'txtAge
  224.         '
  225.         Me.txtAge.Enabled = False
  226.         Me.txtAge.Location = New System.Drawing.Point(272, 64)
  227.         Me.txtAge.Name = "txtAge"
  228.         Me.txtAge.Size = New System.Drawing.Size(56, 21)
  229.         Me.txtAge.TabIndex = 13
  230.         Me.txtAge.Text = ""
  231.         '
  232.         'Label6
  233.         '
  234.         Me.Label6.AutoSize = True
  235.         Me.Label6.Location = New System.Drawing.Point(232, 64)
  236.         Me.Label6.Name = "Label6"
  237.         Me.Label6.Size = New System.Drawing.Size(29, 14)
  238.         Me.Label6.TabIndex = 14
  239.         Me.Label6.Text = "年龄"
  240.         '
  241.         'Form1
  242.         '
  243.         Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
  244.         Me.ClientSize = New System.Drawing.Size(368, 277)
  245.         Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.GroupBox3, Me.GroupBox1})
  246.         Me.Name = "Form1"
  247.         Me.Text = "接受消息"
  248.         Me.GroupBox1.ResumeLayout(False)
  249.         Me.GroupBox2.ResumeLayout(False)
  250.         Me.GroupBox3.ResumeLayout(False)
  251.         Me.ResumeLayout(False)
  252.     End Sub
  253. #End Region
  254.     Private Sub btnReceive_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReceive.Click
  255.         Dim person As PersonInfo.Person
  256.         Dim mq As Messaging.MessageQueue
  257.         Dim mqMessage As Messaging.Message
  258.         Try
  259.             '清空已有信息
  260.             Me.TxtName.Text = ""
  261.             Me.txtBirthPlace.Text = ""
  262.             Me.txtSalary.Text = ""
  263.             Me.rbMale.Checked = False
  264.             Me.rbFemale.Checked = False
  265.             Me.txtAge.Text = ""
  266.             '定义MessageQueue对象,并指向特定的队列,独占访问
  267.             If Not Messaging.MessageQueue.Exists(".Private$" & Me.txtQueueName.Text) Then
  268.                 Messaging.MessageQueue.Create(".Private$" & Me.txtQueueName.Text)
  269.             End If
  270.             mq = New Messaging.MessageQueue(".Private$" & Me.txtQueueName.Text, True)
  271.             mq.Formatter = New Messaging.XmlMessageFormatter(New System.Type() {GetType(PersonInfo.Person)}) '设置消息类型,
  272.             'mq.Formatter = New Messaging.BinaryMessageFormatter() '设置消息类型
  273.             Me.btnReceive.Enabled = False
  274.             mqMessage = mq.Receive(New TimeSpan(0, 0, 5)) '接受消息,5秒仍然未接受到消息将超时
  275.             person = CType(mqMessage.Body, PersonInfo.Person)   ' 将消息转化成Person类型
  276.             '显示接受的个人信息
  277.             Me.TxtName.Text = person.Name
  278.             Me.dtpBirthDate.Value = person.BirthDate
  279.             Me.txtBirthPlace.Text = person.BirthPlace
  280.             Me.txtSalary.Text = person.Salary
  281.             If person.Sex = True Then
  282.                 Me.rbMale.Checked = True
  283.             Else
  284.                 Me.rbFemale.Checked = True
  285.             End If
  286.             Me.txtAge.Text = person.Age
  287.             mq.Close()
  288.             Me.btnReceive.Enabled = True
  289.         Catch ex As Exception
  290.             Me.btnReceive.Enabled = True
  291.             mq.Close()
  292.             MsgBox("错误,没有消息或超时!")
  293.         End Try
  294.     End Sub
  295. End Class