📄 form3.frm
字号:
Width = 1000
End
Begin VB.Label Label1
Caption = "r ="
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 345
Left = 210
TabIndex = 6
Top = 1300
Width = 1000
End
Begin VB.Label Label3
Caption = "n="
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 2040
TabIndex = 5
Top = 770
Width = 460
End
End
End
Begin ComctlLib.TabStrip TabStrip1
Height = 4995
Left = 105
TabIndex = 0
Top = 120
Width = 7305
_ExtentX = 12885
_ExtentY = 8811
_Version = 327682
BeginProperty Tabs {0713E432-850A-101B-AFC0-4210102A8DA7}
NumTabs = 2
BeginProperty Tab1 {0713F341-850A-101B-AFC0-4210102A8DA7}
Caption = "矩形波导"
Key = "Group1"
Object.Tag = ""
ImageVarType = 2
EndProperty
BeginProperty Tab2 {0713F341-850A-101B-AFC0-4210102A8DA7}
Caption = "圆形波导"
Key = "Group2"
Object.Tag = ""
ImageVarType = 2
EndProperty
EndProperty
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
End
Attribute VB_Name = "Form3"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
Dim pi As Double
pi = 4 * Atn(1)
If Frame3.Visible = True Then
Text8.Text = "?"
Text12.Text = "?"
Dim m, n, a, b, lo, lc, fo, ZO As Double
m = Text2.Text
n = Text10.Text
a = Text11.Text
b = Text4.Text
fo = Text6.Text
If a <= 0 Or b <= 0 Or fo <= 0 Or (m = 0 And n = 0) Or m < 0 Or n < 0 Then
MsgBox "输入参数无效!请重新输入!"
Else
lo = (3 * 10 ^ 10) / (fo * 10 ^ 9)
lc = 2 / Sqr((m / a) ^ 2 + (n / b) ^ 2)
Text12.Text = lc
If Abs(lo / lc) >= 1 Then
MsgBox "波型无法传输!"
Else
If Option1.Value = True Then
ZO = 377 / Sqr(1 - (lo / lc) ^ 2)
Else
ZO = 377 * Sqr(1 - (lo / lc) ^ 2)
End If
End If
Text8.Text = Format(ZO, "##########.0000000000")
End If
End If
If Frame2.Visible = True Then
Text13.Text = "?"
Text14.Text = "?"
Text7.Text = "?"
Dim m1, n1, r, lo1, fo1, lg, zo1, s, lc1 As Double
m1 = Text9.Text
n1 = Text3.Text
r = Text1.Text
fo1 = Text5.Text
If fo1 <= 0 Or (m1 = 0 And n1 = 0) Or m1 < 0 Or n1 < 0 Or r <= 0 Then
MsgBox "输入参数无效!请重新输入!"
Else
lo1 = (3 * 10 ^ 10) / (fo1 * 10 ^ 9)
If Option3.Value = True Then
If m1 = 0 And n1 = 1 Then
s = 3.832
lc1 = pi * 2 * r / s
If Abs(lo1 / lc1) >= 1 Then
MsgBox "波型无法传输!"
Else
ZO = 377 / Sqr(1 - (lo1 / lc1) ^ 2)
lg = lo1 / Sqr(1 - (lo1 / lc1) ^ 2)
Text13.Text = Format(lc1, "##########.0000000000")
Text14.Text = Format(lg, "##########.0000000000")
Text7.Text = Format(ZO, "##########.0000000000")
End If
ElseIf m1 = 1 And n1 = 1 Then
s = 1.841
lc1 = pi * 2 * r / s
If Abs(lo1 / lc1) >= 1 Then
MsgBox "波型无法传输!"
Else
ZO = 377 / Sqr(1 - (lo1 / lc1) ^ 2)
lg = lo1 / Sqr(1 - (lo1 / lc1) ^ 2)
Text13.Text = Format(lc1, "##########.0000000000")
Text14.Text = Format(lg, "##########.0000000000")
Text7.Text = Format(ZO, "##########.0000000000")
End If
ElseIf m1 = 2 And n1 = 1 Then
s = 3.05
lc1 = pi * 2 * r / s
If Abs(lo1 / lc1) >= 1 Then
MsgBox "波型无法传输!"
Else
ZO = 377 / Sqr(1 - (lo1 / lc1) ^ 2)
lg = lo1 / Sqr(1 - (lo1 / lc1) ^ 2)
Text13.Text = Format(lc1, "##########.0000000000")
Text14.Text = Format(lg, "##########.0000000000")
Text7.Text = Format(ZO, "##########.0000000000")
End If
ElseIf m1 = 0 And n1 = 2 Then
s = 7.016
lc1 = pi * 2 * r / s
If Abs(lo1 / lc1) >= 1 Then
MsgBox "波型无法传输!"
Else
ZO = 377 / Sqr(1 - (lo1 / lc1) ^ 2)
lg = lo / Sqr(1 - (lo1 / lc1) ^ 2)
Text13.Text = Format(lc1, "##########.0000000000")
Text14.Text = Format(lg, "##########.0000000000")
Text7.Text = Format(ZO, "##########.0000000000")
End If
ElseIf m1 = 1 And n1 = 2 Then
s = 5.33
lc1 = pi * 2 * r / s
If Abs(lo1 / lc1) >= 1 Then
MsgBox "波型无法传输!"
Else
ZO = 377 / Sqr(1 - (lo1 / lc1) ^ 2)
lg = lo1 / Sqr(1 - (lo1 / lc1) ^ 2)
Text13.Text = Format(lc1, "##########.0000000000")
Text14.Text = Format(lg, "##########.0000000000")
Text7.Text = Format(ZO, "##########.0000000000")
End If
ElseIf m1 = 2 And n1 = 2 Then
s = 6.71
lc1 = pi * 2 * r / s
If Abs(lo1 / lc1) >= 1 Then
MsgBox "波型无法传输!"
Else
ZO = 377 / Sqr(1 - (lo1 / lc1) ^ 2)
lg = lo1 / Sqr(1 - (lo1 / lc1) ^ 2)
Text13.Text = Format(lc1, "##########.0000000000")
Text14.Text = Format(lg, "##########.0000000000")
Text7.Text = Format(ZO, "##########.0000000000")
End If
Else
MsgBox "波型无法传输!"
End If
Else
If m1 = 0 And n1 = 1 Then
s = 2.405
lc1 = pi * 2 * r / s
If Abs(lo1 / lc1) >= 1 Then
MsgBox "波型无法传输!"
Else
ZO = 377 * Sqr(1 - (lo1 / lc1) ^ 2)
lg = lo1 / Sqr(1 - (lo1 / lc1) ^ 2)
Text13.Text = Format(lc1, "##########.0000000000")
Text14.Text = Format(lg, "##########.0000000000")
Text7.Text = Format(ZO, "##########.0000000000")
End If
ElseIf m1 = 1 And n1 = 1 Then
s = 3.832
lc1 = pi * 2 * r / s
If Abs(lo1 / lc1) >= 1 Then
MsgBox "波型无法传输!"
Else
ZO = 377 * Sqr(1 - (lo1 / lc1) ^ 2)
lg = lo1 / Sqr(1 - (lo1 / lc1) ^ 2)
Text13.Text = Format(lc1, "##########.0000000000")
Text14.Text = Format(lg, "##########.0000000000")
Text7.Text = Format(ZO, "##########.0000000000")
End If
ElseIf m1 = 2 And n1 = 1 Then
s = 5.136
lc1 = pi * 2 * r / s
If Abs(lo1 / lc1) >= 1 Then
MsgBox "波型无法传输!"
Else
ZO = 377 * Sqr(1 - (lo1 / lc1) ^ 2)
lg = lo1 / Sqr(1 - (lo1 / lc1) ^ 2)
Text13.Text = Format(lc1, "##########.0000000000")
Text14.Text = Format(lg, "##########.0000000000")
Text7.Text = Format(ZO, "##########.0000000000")
End If
ElseIf m1 = 0 And n1 = 2 Then
s = 5.52
lc1 = pi * 2 * r / s
If Abs(lo1 / lc1) >= 1 Then
MsgBox "波型无法传输!"
Else
ZO = 377 * Sqr(1 - (lo1 / lc1) ^ 2)
lg = lo1 / Sqr(1 - (lo1 / lc1) ^ 2)
Text13.Text = Format(lc1, "##########.0000000000")
Text14.Text = Format(lg, "##########.0000000000")
Text7.Text = Format(ZO, "##########.0000000000")
End If
ElseIf m1 = 1 And n1 = 2 Then
s = 7.016
lc1 = pi * 2 * r / s
If Abs(lo1 / lc1) >= 1 Then
MsgBox "波型无法传输!"
Else
ZO = 377 * Sqr(1 - (lo1 / lc1) ^ 2)
lg = lo1 / Sqr(1 - (lo1 / lc1) ^ 2)
Text13.Text = Format(lc1, "##########.0000000000")
Text14.Text = Format(lg, "##########.0000000000")
Text7.Text = Format(ZO, "##########.0000000000")
End If
ElseIf m1 = 2 And n1 = 2 Then
s = 8.42
lc1 = pi * 2 * r / s
If Abs(lo1 / lc1) >= 1 Then
MsgBox "波型无法传输!"
Else
ZO = 377 * Sqr(1 - (lo1 / lc1) ^ 2)
lg = lo1 / Sqr(1 - (lo1 / lc1) ^ 2)
Text13.Text = Format(lc1, "##########.0000000000")
Text14.Text = Format(lg, "##########.0000000000")
Text7.Text = Format(ZO, "##########.0000000000")
End If
Else
MsgBox "波型无法传输!"
End If
End If
End If
End If
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim i As Integer
'处理 ctrl+tab 键,移动到下一个选项卡
If Shift = vbCtrlMask And KeyCode = vbKeyTab Then
i = TabStrip1.SelectedItem.Index
If i = TabStrip1.Tabs.Count Then
'最后一个选项卡,返回到选项卡 1
Set TabStrip1.SelectedItem = TabStrip1.Tabs(1)
Else
' 选项卡序数加 1
Set TabStrip1.SelectedItem = TabStrip1.Tabs(i + 1)
End If
End If
End Sub
Private Sub Form_Load()
'窗体居中
Me.Left = 1200
Me.Top = 1200
Me.Width = 8000
Me.Height = 6000
Image1.Picture = LoadPicture(App.Path & "\image\jxbd.bmp")
Image2.Picture = LoadPicture(App.Path & "\image\ybd.bmp")
End Sub
Private Sub TabStrip1_Click()
Dim i As Integer
'显示并激活选中的选项卡控件
'隐藏并禁止所有其它控件
For i = 1 To TabStrip1.Tabs.Count
If i = TabStrip1.SelectedItem.Index Then
Frame2.Visible = True
Frame3.Visible = False
Me.Picture1.Visible = True
Me.Picture2.Visible = False
Else
Frame2.Visible = False
Frame3.Visible = True
Me.Picture2.Visible = True
Me.Picture1.Visible = False
End If
Next
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -