Click here to Skip to main content
Click here to Skip to main content

SheetView Control

By , 12 Dec 2003
 

Sample screenshot

Introduction

The sample image shows what it is all about. I wanted to write a kind of osql.exe-with-a-GUI (osql is the command line utility which comes with the Microsoft MSDE database). I don't like the .NET tab controls: it's like they are a toolbar. So, I decided to write my own. It's a very simple control: there is no scrollbar to the right nor arrows to the left, to change the current selected tab.

The source code contains a demo project as well. SqlPad.cs shows you how to use the class SheetView.

Usage

... 
_SheetView = new SheetView();
_SheetView.Dock = DockStyle.Bottom;
_SheetView.Height = 18;
_SheetView.Font = new Font("verdana", 8, GraphicsUnit.Point);
_SheetView.Sheets.Add(new Sheet("Output 1"));
_SheetView.Sheets.Add(new Sheet("Output 2"));
_SheetView.OnSelectionChanged += new EventHandler(OnOutputWindowChanged); 
... 
void OnOutputWindowChanged(Object sender, EventArgs e)
{
    _Output[0].Visible = false;
    _Output[1].Visible = false;
    _Output[_SheetView.SelectedIndex].Visible = true;
}

Note 1: SqlPad also shows you how to handle the typical File New, Open, Save and Save As menu items. Take a look at Document.cs and SqlDocument.cs. However, Document needs a little polishing if you want to use it in your own projects: for example, there're no property filters. The project also shows how to deal with the Undo Bug in RichTextBox: examine RichTextBoxBase.cs if you're interested.

Note 2: SqlPad isn't finished at all. I thought it would be easy to create a syntax color text box based on RichTextBox, but it isn't. I would have to write my own editor from scratch, but on my computer, it seems that it would be better to implement one in C, .NET is too slow.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Mike Finnegan
Belgium Belgium
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 5membermanoj kumar choubey26 Feb '12 - 21:22 
GeneralUpdatememberq12345678916 Dec '03 - 2:25 
GeneralDraggable Tabsmemberklenne15 Dec '03 - 1:38 
GeneralRe: Draggable Tabsmemberq12345678915 Dec '03 - 21:49 
GeneralRe: Draggable Tabsmemberklenne9 Jan '05 - 2:54 
GeneralSyntax Highlighting Textboxesmemberjdunlap13 Dec '03 - 10:55 
QuestionWhere's the sample image?memberAndrew Allen13 Dec '03 - 6:06 
AnswerRe: Where's the sample image?memberq12345678913 Dec '03 - 22:29 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130516.1 | Last Updated 13 Dec 2003
Article Copyright 2003 by Mike Finnegan
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid