창호 열관류율 발코니창 추가

소요량 평가서 날짜 변경
This commit is contained in:
ykh
2025-06-29 00:00:52 +09:00
parent 4819e4ce22
commit 744e55f9e9
5 changed files with 327 additions and 36 deletions

View File

@@ -51,6 +51,13 @@
AddHandler .OwnerDrawCell, AddressOf flexOwnerDrawCell
End With
Label3.Enabled = True
Label4.Enabled = True
Label5.Enabled = True
열관류율NTb.ReadOnly = True
End Sub
Private Function Refresh_열전도율목록() As String
@@ -768,8 +775,9 @@
End If
Next
Try
If cmb_형태.Text.StartsWith("") OrElse cmb_형태.Text.StartsWith("") OrElse cmb_형태.Text.StartsWith("세대현관문") Then
If cmb_형태.Text.StartsWith("") OrElse cmb_형태.Text.StartsWith("세대현관문") Then
Me.열관류율NTb.Text = Me.NTb_창호열관류율.Text
Else
Me.열관류율NTb.Text = CSng(Math.Round(1 / R_value, 3)).ToString
@@ -780,6 +788,27 @@
'MsgBox("4. " & ex.Message.ToString)
End Try
Try
If cmb_형태.Text = "창(직접)" OrElse cmb_형태.Text = "창(간접)" Then
If Me.chk_발코니여부.Checked Then
Me.tb_투과율.Text = Math.Round(TOSG(tb_발코니투과율.Text) * TOSG(NTb_일사에너지투과율.Text), 3)
Me.열관류율NTb.Text = Math.Round((1 / ((1 / TOSG(Me.NTb_창호열관류율.Text)) + (1 / TOSG(Me.tb_발코니열관류율.Text)) * 0.5)), 3)
Else
Me.tb_투과율.Text = NTb_일사에너지투과율.Text
Me.열관류율NTb.Text = Me.NTb_창호열관류율.Text
End If
Else
Me.열관류율NTb.Text = CSng(Math.Round(1 / R_value, 3)).ToString
Me.tb_투과율.Text = ""
End If
Catch ex As Exception
Me.열관류율NTb.Text = ""
Me.tb_투과율.Text = ""
End Try
' Me.MyTb1.Text = width.ToString("N2")
Me.UserControl11.MaxSize = width
'MsgBox(width)
@@ -950,7 +979,7 @@
Else
tb법적기준.Text = "0.350"
End If
Case "지중벽"
tb법적기준.Text = "0.450"
Case "세대현관문(직접)"
@@ -990,7 +1019,7 @@
Else
tb법적기준.Text = "0.470"
End If
Case "지중벽"
tb법적기준.Text = "0.560"
Case "세대현관문(직접)"
@@ -1311,40 +1340,68 @@
End If
Else
'//지역코드가 연결되지 않은경우
tb법적기준.Text = "--"
End If
UpdateColor()
End Sub
Sub UpdateColor()
'열관류율NTb,tb법적기준
If IsNumeric(tb법적기준.Text) AndAlso IsNumeric(열관류율NTb.Text) Then
Dim S1 As Single = TOSG(tb법적기준.Text)
NTb_창호열관류율.BackColor = Color.WhiteSmoke
열관류율NTb.BackColor = Color.WhiteSmoke
Dim S2 As Single = TOSG(열관류율NTb.Text)
If S2 > S1 Then
열관류율NTb.BackColor = Color.HotPink
Label2.Text = "법적기준(부적합)"
Label2.ForeColor = Color.Red
Label2.Font = New Font("맑은 고딕", 9.75, FontStyle.Bold)
If cmb_형태.Text = "창(간접)" Then
If IsNumeric(tb법적기준.Text) AndAlso IsNumeric(NTb_창호열관류율.Text) Then
Dim S1 As Single = TOSG(tb법적기준.Text)
Dim S2 As Single = TOSG(NTb_창호열관류율.Text)
If S2 > S1 Then
NTb_창호열관류율.BackColor = Color.HotPink
Label2.Text = "법적기준(부적합)"
Label2.ForeColor = Color.Red
Label2.Font = New Font("맑은 고딕", 9.75, FontStyle.Bold)
Else
NTb_창호열관류율.BackColor = Color.WhiteSmoke
Label2.Text = "법적기준"
Label2.ForeColor = Color.Black
Label2.Font = New Font("맑은 고딕", 9.75, FontStyle.Regular)
End If
Else
NTb_창호열관류율.BackColor = Color.WhiteSmoke
Label2.Text = "법적기준"
Label2.ForeColor = Color.Black
Label2.Font = New Font("맑은 고딕", 9.75, FontStyle.Regular)
End If
Else
If IsNumeric(tb법적기준.Text) AndAlso IsNumeric(열관류율NTb.Text) Then
Dim S1 As Single = TOSG(tb법적기준.Text)
Dim S2 As Single = TOSG(열관류율NTb.Text)
If S2 > S1 Then
열관류율NTb.BackColor = Color.HotPink
Label2.Text = "법적기준(부적합)"
Label2.ForeColor = Color.Red
Label2.Font = New Font("맑은 고딕", 9.75, FontStyle.Bold)
Else
열관류율NTb.BackColor = Color.WhiteSmoke
Label2.Text = "법적기준"
Label2.ForeColor = Color.Black
Label2.Font = New Font("맑은 고딕", 9.75, FontStyle.Regular)
End If
Else
열관류율NTb.BackColor = Color.WhiteSmoke
Label2.Text = "법적기준"
Label2.ForeColor = Color.Black
Label2.Font = New Font("맑은 고딕", 9.75, FontStyle.Regular)
End If
Else
열관류율NTb.BackColor = Color.WhiteSmoke
Label2.Text = "법적기준"
Label2.ForeColor = Color.Black
Label2.Font = New Font("맑은 고딕", 9.75, FontStyle.Regular)
End If
End Sub
Private Sub cmb_형태_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_형태.SelectedIndexChanged
If cmb_형태.Text = "지붕(직접)" OrElse cmb_형태.Text = "바닥(직접)" OrElse cmb_형태.Text = "지붕(간접)" OrElse cmb_형태.Text = "바닥(간접)" Then
@@ -1388,6 +1445,35 @@
Me.lbl_일사에너지투과율.ForeColor = Color.LightGray
Me.lbl_창호세부설명.ForeColor = Color.LightGray
End If
If cmb_형태.Text.StartsWith("창(직접)") OrElse cmb_형태.Text.StartsWith("창(간접)") Then
Me.chk_발코니여부.ForeColor = Color.Black
Application.DoEvents()
Me.chk_발코니여부.Refresh()
Application.DoEvents()
Me.chk_발코니여부.Enabled = True
Me.tb_투과율.Enabled = True
Me.Label5.Enabled = True
Me.tb_발코니투과율.Visible = True
Me.tb_발코니열관류율.Visible = True
Me.Label3.ForeColor = Color.Black
Me.Label4.ForeColor = Color.Black
Me.Label5.ForeColor = Color.Black
Else
체크바닥난방여부.ForeColor = Color.LightGray
Me.chk_발코니여부.Refresh()
Application.DoEvents()
Me.chk_발코니여부.Enabled = False
Me.Label3.ForeColor = Color.LightGray
Me.Label4.ForeColor = Color.LightGray
Me.Label5.ForeColor = Color.LightGray
Me.tb_투과율.Enabled = False
'Me.Label5.Enabled = False
Me.tb_발코니투과율.Visible = False
Me.tb_발코니열관류율.Visible = False
End If
End Sub
Private Sub NTb_창호열관류율_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NTb_창호열관류율.TextChanged
@@ -1554,4 +1640,29 @@
Private Sub 열관류율NTb_TextChanged(sender As System.Object, e As System.EventArgs) Handles 열관류율NTb.TextChanged
UpdateColor()
End Sub
Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chk_발코니여부.CheckedChanged
refresh_Image()
Me.tb_발코니열관류율.Enabled = chk_발코니여부.Checked
Me.tb_발코니투과율.Enabled = chk_발코니여부.Checked
'Me.Label2.Enabled = chk_발코니여부.Checked
'Me.Label3.Enabled = chk_발코니여부.Checked
End Sub
Private Sub tb_발코니열관류율_TextChanged(sender As System.Object, e As System.EventArgs) Handles tb_발코니열관류율.TextChanged, tb_발코니투과율.TextChanged
refresh_Image()
End Sub
Private Sub chk_발코니여부_EnabledChanged(sender As System.Object, e As System.EventArgs) Handles chk_발코니여부.EnabledChanged
refresh_Image()
If chk_발코니여부.Enabled = False Then
Me.tb_발코니열관류율.Enabled = chk_발코니여부.Enabled
Me.tb_발코니투과율.Enabled = chk_발코니여부.Enabled
'Me.Label2.Enabled = chk_발코니여부.Enabled
'Me.Label3.Enabled = chk_발코니여부.Enabled
Else
CheckBox1_CheckedChanged(sender, e)
End If
End Sub
End Class