• 0

[VB.NET] Textbox disabled colors


Question

I have this little app with a textbox that changes colors (text color and background color) depending on some parameters. I also have visualstyles enabled in my app like this:

Public Sub Main()
        Application.EnableVisualStyles()
        Application.Run(frmMain)
    End Sub

The problem is the following, I don't the user to be able to edit that field at all, and I can just put readonly = true, however, the user can select the text inside and the cursro carret will be there and I also don't want that. That can be fixed with enabled = false. However, if I put it like that, I can't change the text color... How can I achieve this?

Another thing, with Application.EnableVisualStyles() when the background color of the textbox is changed during runtime, there will be a 1pixel border line with the previous background color and if I move the cursor hover the textbox, that border will now have the correct color, I don't want that to happen too and if somehow I mange to fix the enabled = false and text color on the textbox the hover thing will not work and the border with the previous color will remain there.

Any thoughts on this 2 problems?

Link to comment
https://www.neowin.net/forum/topic/268052-vbnet-textbox-disabled-colors/
Share on other sites

11 answers to this question

Recommended Posts

  • 0
  bangbang023 said:
Why not use a label?

585249869[/snapback]

Label also have the same problem with me, i used to make animated buttons by using labels and when i disable the label, the label picture became gray scale ...... thanx nazgulled for opening that thread

  • 0
  bangbang023 said:
You should be able to get it to look like a textbox if you change the control color and such.

585249968[/snapback]

nope, it doesn't look the same... it's almost there, but not the same.... I could set FormBorderStyle = Fixed3D but it's not exactly the same and I don't really like it, but I guess I don't have a choice...

  • 0

You could just set focus to another control when the particular edit box receives focus. It?s messy but it should do what you want.

  private void textBox1_Enter(object sender, System.EventArgs e)
  {
  	button1.Focus();
  }

You can remove the border by sending the text box control the WM_MOUSEMOVE (0x0200) message using SendMessage. I can only provide a C# sample, not sure how to do it in VB.NET

// At the top
using System.Runtime.InteropServices;

// Somewhere in class
[DllImport("User32.dll")]
public static extern Int32 SendMessage(int hWnd, int Msg, int wParam, IntPtr lParam); 

// Code to change background
textBox1.BackColor = Color.Blue;
SendMessage((int)textBox1.Handle, 0x0200, 0, IntPtr.Zero);

Edited by virtorio
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Not sure I agree with your particular interpretation of this. An ESU key is still required per device that you have to enter into the device in order to activate ESU. These aren't being given out for free. The linked Microsoft article still states: "If you have paid to enroll your remaining Windows 10 systems in the ESU program..." which seems to confirm this.
    • I swear, whoever is handling the Gundam IP for video games should be fired. How can you go from the gems that were releasing in PS1, PS2 and PS3, to the utter disaster that's today, from the VR game just to be on the hype bandwagon and all the focus on SD. This will probably be studied as one of the worst ways companies mishandle an IP.
    • Meta is now using every possible source to power its data centers by Hamid Ganji Chip shortage is not the only obstacle hindering AI development. The insatiable thirst for electricity from data centers has caused serious problems for tech giants, to the point where they have been forced to invest heavily in purchasing nuclear power plants. However, green and renewable energy could also serve as an alternative power source for data centers. As reported by Reuters, Meta has signed four deals with Renewable energy developer Invenergy to supply 791 megawatts (MW) of solar and wind power for its data centers. This is the second green deal between Meta and Invenergy to supply renewable energy to Meta's data centers, following the firms' signing of contracts last year for 760 MW of solar electricity. According to Invenergy, the latest deal soars Meta's renewable energy purchases to 1,800 MW. The green energy will come from Invenergy's projects in Ohio, Arkansas, and Texas. While renewable energy has a more limited capacity compared to methods like nuclear power, it still holds significant potential to meet some of the data center's energy needs. Moreover, investing in renewable energy aligns with Big Tech's net-zero plans. Last year, Meta announced a request for proposals (RFP) to identify nuclear energy developers in the United States. The company plans to generate 1-4 gigawatts (GW) of new nuclear power by early 2030. Also, in June this year, Meta and energy company Constellation announced plans to revive an aging nuclear power plant in Illinois that has been shut down since 2017 due to financial losses. Meta could rely on this nuclear power plant for the next 20 years. While some major tech companies were committed to achieving net-zero emissions by 2040, the soaring power demands from AI data centers could render all those green plans obsolete. That is why these companies have called for reforms to net-zero rules, as achieving their ambitious net-zero goals by 2040 seems highly unlikely.
  • Recent Achievements

    • Conversation Starter
      Kavin25 earned a badge
      Conversation Starter
    • One Month Later
      Leonard grant earned a badge
      One Month Later
    • Week One Done
      pcdoctorsnet earned a badge
      Week One Done
    • Rising Star
      Phillip0web went up a rank
      Rising Star
    • One Month Later
      Epaminombas earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      531
    2. 2
      ATLien_0
      207
    3. 3
      +FloatingFatMan
      170
    4. 4
      Michael Scrip
      148
    5. 5
      Steven P.
      122
  • Tell a friend

    Love Neowin? Tell a friend!