Hi Emma,
Check this example. Now please take its reference and correct your code.
IPClass
C#
public class IPClass
{
    public string GetIPAddress()
    {
        string vblip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
        if (!string.IsNullOrEmpty(vblip))
        {
            string[] addresses = vblip.Split(',');
            if (addresses.Length != 0)
            {
                vblip = addresses[0];
            }
        }
        else
        {
            vblip = System.Web.HttpContext.Current.Request.Headers.Get("CF-Connecting-IP");
            if (String.IsNullOrEmpty(vblip))
            {
                vblip = System.Web.HttpContext.Current.Request.UserHostAddress;
            }
        }
        return vblip;
    }
}
VB.Net
Public Class IPClass
    Public Function GetIPAddress() As String
        Dim vblip As String = System.Web.HttpContext.Current.Request.ServerVariables("HTTP_X_FORWARDED_FOR")
        If Not String.IsNullOrEmpty(vblip) Then
            Dim addresses As String() = vblip.Split(","c)
            If addresses.Length <> 0 Then
                vblip = addresses(0)
            End If
        Else
            vblip = System.Web.HttpContext.Current.Request.Headers.Get("CF-Connecting-IP")
            If String.IsNullOrEmpty(vblip) Then
                vblip = System.Web.HttpContext.Current.Request.UserHostAddress
            End If
        End If
        Return vblip
    End Function
End Class
Then call it in any page by creating the instance of the class.
C#
protected void Page_Load(object sender, EventArgs e)
{
    IPClass ip = new IPClass();
    string ipAddress = ip.GetIPAddress();
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    Dim ip As IPClass = New IPClass()
    Dim ipAddress As String = ip.GetIPAddress()
End Sub