• 0

[REQ] Line-Numbered TextBox for .NET


Question

look down the thread for last post by ianmac

i found the solution

:D

hello all...

does anyone have working .net code that will add support for line numbers in textbox's and richtextbox's?

a great example is the vs.net ide. there is a fully-functional working version for vb6 at elite vb, but obviously it was written in vb6 which means it has all of the downfalls of it. for example, how are you supposed to convert a delegate or a function address to a long? what is objptr?

... well ... anyway, i've been at this for a while, and the only thing that i'm sure i need is to use .net's nativewindow class for subclassing.

here is a picture of the vb6 one...

figure_1.1.jpg

hey, bangbang, if you read this, this would be a great thing to put into your nexpad program

Edited by Ianmac45
Link to comment
https://www.neowin.net/forum/topic/272986-req-line-numbered-textbox-for-net/
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Hmmmm there's just so many ways you could accomplish this, you could make a listbox and attach the listbox and the richtextbox within a panel control.

From that point on you just need to adjust the height of each listbox item according to the size of the text, which is easy to do.

And each listbox item will just contain the numbers that's all, and on each carriage return in the rich textbox you add another listbox item, as to selecting the numbers that's not too hard too, you can select text lines with a rich textbox, so call the function to select it passing in the text in that particular listbox item.

  • 0

I think the rich text box in java has a showLineNumbers property. Is there nothing like that on the .NET rich text box?

If not, and you dont want extra controls... maybe consider using some sort of table solution with 2 columns: 1 for line number and 1 for the line text - although this will get very messy and require a lot of code for editing the text and lines.

Let me know how you solve this problem - i also need a text area with line numbers...

  • 0
  Winston said:
Hmmmm there's just so many ways you could accomplish this, you could make a listbox and attach the listbox and the richtextbox within a panel control.

From that point on you just need to adjust the height of each listbox item according to the size of the text, which is easy to do.

And each listbox item will just contain the numbers that's all, and on each carriage return in the rich textbox you add another listbox item, as to selecting the numbers that's not too hard too, you can select text lines with a rich textbox, so call the function to select it passing in the text in that particular listbox item.

585313192[/snapback]

I've been looking for such a solution for quite some time as well.

I haven't had a go at this, but was thinking that doing the RTB + ListBox thing works nicely if you don't have Wrap enabled on the RTB. Wrapped lines rather messes up any line numbering that might go on, and complicates the updating of the ListBox.

It's a start though :)

On a related note, I had a look at CodeProject and found this article. It's an example for C++ and it's not very .NET related either. However, for those that have a bit more clue than myself, this might help in providing the direction for a .NET control with line numbering for everyone?

  • 0

OK huge thing just happened today :D :D

while surfing the web still looking for my medicine (this code), i instead came upon the open-source #Develop project. the #Develop ideeee does indeed have an excellent line-numbered textbox comparable to both visual studio .net and actipro's syntaxeditor .net, although it isn't anywhere near as colorful :(

so, i just downloaded the source and built it using the debugbuild.bat file. from there, i went into \SharpDevelop\bin and copied ICSharpCode.TextEditor.dll into my project and it works flawlessly!!!!!

here's an image of actipro's solution. besides, you all should know the vs.net way

SyntaxEditorPromo1.gif

ps. if a mod could remove the [REQ] from the title, that'd be great

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

    • No registered users viewing this page.
  • Posts

    • Lots of people want a world where everything is personal and nothing is ever discussed rationally. List me as one of the people who doesn't think that's a good approach.
    • I think it's great that we're learning more about the early universe through observation. Knowing that our assumptions were off is a good thing. Once space based gravitational wave detectors exist, we may be able to "see" into the period where the universe was still condensed before matter formed. That'll be cool
    • yeah, the "but X had it first" comments rarely add any value. Sometimes it is interesting that a feature gap for a seemingly simple feature can last for years or decades, but in this case, it is such a minor feature that I doubt anyone really cared.
    • Linux dev quits after "personal attacks" from user over Kapitano antivirus tool by David Uzondu Kapitano was a tool with a simple job: to give the ClamAV scanning engine a modern face on Linux. It relied on the ClamAV database, a massive, constantly updated list used to sniff out all sorts of nasties like viruses, worms, and Trojan horses. Since ClamAV is primarily a command-line tool, it depends on a GUI (frontend) for users who prefer not to live in the terminal. There are apps like ClamWin on Windows, ClamXav on Mac, and, until recently, Kapitano on Linux. Screenshot of Kapitano Now, the dev behind the Linux frontend, "zynequ," has marked the project as "Not Maintained" following what he described as personal attacks and harsh words. It all started when a user created an issue on the project's Codeberg page with the title, "Kaptiano resulted in 24 positives- for win.exploits and Trojans." In the post, they claimed the antivirus frontend was generating false positives on their Linux Mint system. The user noted that all the flagged files were related to the Kapitano Flatpak itself and ended with a rather aggressive warning. The whole thing seemed "strange," they said, concluding with, "program has ZERO reviews, and should remain that way until source code is verified by an independent source. DO NOT DOWNLOAD!" Zynequ, the project's author, responded by calmly referencing the wiki and explaining that the problem was with ClamAV itself, not his application. Kapitano, built with GTK4 and libadwaita, is just a wrapper that sends commands to the clamscan utility but has no say in what gets flagged. The developer also called the user out for the "personal attacks." He addressed the zero reviews situation, pointing out that this was hardly a conspiracy since the project was very new, launching back in June. Zynequ insisted that there is nothing "fishy" about their code and that it is fully open for review. The interaction soured from there. After zynequ closed the issue, the user created a duplicate one, then proceeded to resubmit the complaint under issue #13, this time with a different title: Kapitano developer is a malicious actor. Get this malware distributor blocked. After a heated back and forth with the dev, the user finally posted, "Your project is off of my laptop disk. Let it rest. Goodbye." This exchange is what led to the zynequ publishing their final note. They explained that Kapitano was "a hobby project, created in my free time without any financial support," and that it's hard to stay motivated when "personal attacks" are directed towards you. Zynequ noted that the project's code was now released into the public domain under The Unlicense, meaning anyone could fork it and do whatever they want with it. Kapitano will be delisted from Flathub, and the Codeberg repo will still be alive for a few months before they delete it and close their account for good.
    • Being harder to detect as a non-human work, doesn't justify its existence, to me.
  • Recent Achievements

    • One Month Later
      BA the Curmudgeon earned a badge
      One Month Later
    • First Post
      Doreen768 earned a badge
      First Post
    • One Month Later
      James_kobe earned a badge
      One Month Later
    • Week One Done
      James_kobe earned a badge
      Week One Done
    • Week One Done
      macomen earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      656
    2. 2
      ATLien_0
      253
    3. 3
      Xenon
      169
    4. 4
      neufuse
      148
    5. 5
      +FloatingFatMan
      133
  • Tell a friend

    Love Neowin? Tell a friend!