我正在尝试将 C# 项目转换为 vb.net 项目,但遇到了一些困难。
下面是一个按钮的点击事件:
private void button2_Click(object
sender, EventArgs e)
{
Appointment m_App = new Appointment();
m_App.StartDate = dayView1.SelectionStart;
m_App.EndDate = dayView1.SelectionEnd;
m_App.BorderColor = Color.Red;
m_Appointments.Add(m_App);
dayView1.Invalidate();
}
然后调用以下内容:
protected override void
OnPaint(PaintEventArgs e)
{
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
// resolve appointments on visible date range.
ResolveAppointmentsEventArgs args = new
ResolveAppointmentsEventArgs(this.StartDate,
this.StartDate.AddDays(daysToShow));
ResolveAppointments(args);
using (SolidBrush backBrush = new
SolidBrush(renderer.BackColor))
e.Graphics.FillRectangle(backBrush,
this.ClientRectangle);
// Visible Rectangle Rectangle
rectangle = new Rectangle(0, 0,
this.Width - VScrollBarWith,
this.Height);
DrawDays(ref e, rectangle);
DrawHourLabels(ref e, rectangle);
DrawDayHeaders(ref e, rectangle);
}
我已将每个部分转换为 VB.net 代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim m_App As New Appointment()
m_App.StartDate = DayView1.SelectionStart
m_App.EndDate = DayView1.SelectionEnd
m_App.BorderColor = Color.Red
m_Appointments.Add(m_App)
DayView1.Invalidate()
End Sub
但它不会自动调用:
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
' resolve appointments on visible date range.'
Dim args As New ResolveAppointmentsEventArgs(Me.StartDate, >Me.StartDate.AddDays(m_daysToShow))
ResolveAppointments(args)
Using backBrush As New SolidBrush(m_renderer.BackColor)
e.Graphics.FillRectangle(backBrush, Me.ClientRectangle)
End Using
' Visible Rectangle '
Dim rectangle As New Rectangle(0, 0, Me.Width - VScrollBarWith, Me.Height)
DrawDays(e, rectangle)
DrawHourLabels(e, rectangle)
DrawDayHeaders(e, rectangle)
End Sub