|
ok thanx bro..
but a little more..
here I go
Now I have made an interface called Inter Then I made its dll from the command line saying ...>csc /t: library Int.cs ten I made a class call Impl and implemented a function called fun (it just returns an integer) then when I run it through VS it ran but after I used using... and made an object of the interface.
fine..
Now I want to know if I can have more than one interface in a namespace, and is a namespace something like a package in Java.
And if I have classes divided in different namespaces, can I use them in one main class with the one main function? (ofcource I may have to use the using..)
.
Believe! Everything has a purpose
|
|
|
|
|
saud_a_k wrote:
can have more than one interface in a namespace
You can have as many interfaces inside a namespace as you want. There exists no restriction.
Namespace are used to group classes, interfaces, enumeration,... into different scopes which helps to logically organize your code. The Framework Class Library does the same, as it includes many namespaces which contain implementations for a specific area.
saud_a_k wrote:
And if I have classes divided in different namespaces, can I use them in one main class
Whether you can use the types created inside your namespace depends on their access modifier and nothing else. You dont't even have to insert a using namespace , cause this is mainly an easement so you can use your types without having to specify the namespace.
Take a look at the documentation for the using directive[^] and the namespace keyword[^].
www.troschuetz.de
|
|
|
|
|
so you mean namespaces are like packages in Java.. right?
MaXx
|
|
|
|
|
Yes, I would say it's mainly the same.
But I'm only a bloody beginner in Java, so I don't take this for granted
www.troschuetz.de
|
|
|
|
|
I seem to vaguely recall from my UML class that a java package is really comparable to a component. In .NET a component is a number of classes grouped together to form common functionality. A namespace represents a broader aspect which may have no true Java equivalency.
A standard for namespace standardization is:
companyName.{application}
in my company I established the standard that our namespace standard is:
companyName.groupName.application
The application namespace represents all elements, classes, methods, UI that represent that application. Within that application I may have a component (just a really large class) which is made up of several class libraries. An example is an SCCProviderClass. This provides a common interface to our source management providers with Source Safe, PVCS, and CVS supported in the backside. An interface (ISourcePackage) is the interface between my API and the individual API's.
For interface naming conventions you should also try to identify what you are interfacing (ComponentLibrary for example which is a library of common components) and then append I to that. (IComponentLibrary) which I believe is a common naming convention in Java as well.
______________________________
The Tao gave birth to machine language.
Machine language gave birth to the assembler.
The assembler gave birth to ten thousand languages.
Each language has its purpose, however humble.
Each language expresses the Yin and Yang of software.
Each language has its place within the Tao.
Beauty exists because we give a name to C#.
Bad exists because we give a name to COBOL.
|
|
|
|
|
Is there anyone who can help me out to add datepicker control in a datagrid in window forms. Please tell me the code or send me the component file
|
|
|
|
|
|
hello...
I want to print some text, I have it in a RichTextBox!
I dont know how to do it...
However i tried this...
PrintPreviewDialog Print = new PrintPreviewDialog();
Print.Document = richTextBox1.Text;
Print.ShowDialog();
But it can't convert string to PringDocument!
I also tried....
PrintDocument preview = new PrintDocument();
PrintPreviewDialog Print = new PrintPreviewDialog();
Print.Document = preview ;
Print.ShowDialog();
then it works, but the paper is blank!
I don't know what else to do!
so please help me!
|
|
|
|
|
If you are using visual studio use the designer to add a PrintDocument object to your form.
In your function that calls the print event put the following
try<br />
{<br />
PrintPreviewDialog preview = new PrintPreviewDialog();<br />
preview.Document = printDocument1;<br />
preview.ShowDialog();<br />
if (preview.DialogResult == DialogResult.OK)<br />
printDocument1.Print();<br />
}
In the printDocument1.Print event (this can be created by ouble clicking the printDocument1 object in the designer) write the following code
e.Graphics.DrawString(richTextBox1.text, myFont, Brushes.Black,<br />
LeftMargin, YPosition, new StringFormat());
You will have to provide the values for myFont, LeftMargin and YPosition .
Hope this helps
KP
|
|
|
|
|
thanks it worked....
But do you know what the best LeftMargin and Yposition will be so it will print all the text?
My printer is currently broke so i can't test what would be best!
if U have time please write back else thanks anyway!
|
|
|
|
|
I've not reall y had much experience printing although my current project is going to require me to do quite a bit as soon as i overcome my current problem but i,ll try to help.
If you set LeftMargin equal to e.MarginBounds.Left
and Yposition equal to e.MarginBounds.Top
The printing will start in the top left corner of the page, taking into account any changes you make to the margins in the printPreviewDialog when it is displayed.
You may also have to write code to work out the number of lines on the page compared to how many lines your printing. If you get to the end of the page just set the e.HasMorePages = true and finish the printDocument.Print event, it will then start a new page (i think).
Sorry i can't give you any definate answers but like i said, i'm just starting to look into printing myself.
Hope you sort your problem.
KP
|
|
|
|
|
okay ill try it.... or else i wait to my printer works again!
Thanks!
|
|
|
|
|
With a bit of help from Heath Stewart i have a programme up and running with a datagrid, the first column of which is a check box.
What i now need is to be able to lock the grid down except for the check box column, I could just set each column to read only but this still allows the user to create new rows. New rows are added programatically and i need to restrict the user from doing this.
Any help you guys can give me would be appreciated.
Cheers
KP
|
|
|
|
|
I can't remember the exact details but you can do it with the dataview.allowNew method
|
|
|
|
|
Can you bind a DataView to a DataGrid even though the DataGrid is already bound to a DataSet?
If so, can anyone provide some code or a link to some for me?
Cheers
KP
|
|
|
|
|
Yes, just set DataGrid.DataSource to an instance of a DataView . This will bind the DataGrid to a DataView instead of the DataSet , but ultimately the DataSet (or DataTable ) is reflected by the DataView since the DataView is created on a DataTable within a DataSet .
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thanks for your help, i'll try it tomorrow when i get a chance.
KP
|
|
|
|
|
I'm doing a program in c# for a pocket-pc that has a "save as" dialog-box. When I execute it in the explorer, It's ok, but when I try to execute it in pocket-pc it doesn't work, in order to show the dialog-box only appears the text of the file. There is someone who can help me?
Thanks!!
This is the code:
private void Command3_Click(object sender, System.EventArgs e)
{
Response.ContentType="text/plain";
Response.AddHeader( "content-disposition","attachment; filename=Testa1.txt");
FileStream sourceFile = new FileStrea(@"C:\Inetpub\wwwroot\FitxIdatziWeb\Testa1.txt", FileMode.Open);
long FileSize;
FileSize = sourceFile.Length;
byte[] getContent = new byte[(int)FileSize];
sourceFile.Read(getContent, 0, (int sourceFile.Length);
sourceFile.Close();
Response.BinaryWrite(getContent);
}
|
|
|
|
|
You might want to change the ContentType to "application/octet-stream", but leave the "content-disposition" header in. Since the browser already knows how to render "text/plain" content, it won't ask you to save it. Changing it to "application/octet-stream" is about as generic as it gets and the browser should treat it as an unknown stream type.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I change the ContentType to "application/octet-stream", but it doesn't work. Maybe I must put Response.Buffer = true ; Response.Clear();and in the end Response.End(); but it doesn't work.
If I put Response.ContentType="text/salt+html"; I get a dialog box and download the file. But when I read the text,it is different, it has html format but anything of the original text. Thanks for the answer and sorry for my low level english.
|
|
|
|
|
I am using these lines, to avoid flicker in my program:
SetStyle(ControlStyles.UserPaint, true);<br />
SetStyle(ControlStyles.DoubleBuffer, true);<br />
SetStyle(ControlStyles.AllPaintingInWmPaint, true);<br />
<br />
private void timer1_Tick(object sender, System.EventArgs e)<br />
{<br />
Invalidate();<br />
}<br />
<br />
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)<br />
{<br />
Graphics g = e.Graphics;<br />
...<br />
}<br />
However, it dont work for panels, only for the main window, if i try like this:
private void timer1_Tick(object sender, System.EventArgs e)<br />
{<br />
panel1.Invalidate();<br />
}<br />
<br />
private void panel1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)<br />
{<br />
Graphics g = e.Graphics;<br />
...<br />
}<br />
It there a simple way to make panels flicker free?
|
|
|
|
|
I wonder where you have written these lines of code:
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
If you created your custom panel, so it should work flicker free.
My Weblog
|
|
|
|
|
custom panel?
I just drag a panel from the toolbox.
The lines a placed in the constructor.
|
|
|
|
|
That's why it's not flicker free. You should make a custom panel, which derives from Panel control, and then you just need to add those lines of code in the constructor of your custom panel. After compiling and adding it to your form, it will work flicker free.
This article may help you:
Flicker free drawing using GDI+ and C#[^]
My Weblog
|
|
|
|
|
To note, it's much faster to use
SetStyle(ControlStyles.AllPaintingInWmPaint<br />
| ControlStyles.DoubleBuffer | ControlStyles.UserPaint, true); . This results in fewer calls since all three enumerations are OR'd together at compile time. That's what the FlagsAttribute allows on an enumeration like ControlStyles (all enumerations denoting plurality in the .NET FCL typically have the FlagsAttribute ).
Microsoft MVP, Visual C#
My Articles
|
|
|
|