|
control-]
"When the only tool you have is a hammer, a sore thumb you will have."
|
|
|
|
|
top, works a treat.
thanks !
Rgds,
Ian
|
|
|
|
|
Hello,
does somebody know how I can get the current text-cursor-position (in pixel from the upper left of the window) in a RichTextBox?
Thank You
Bernd
|
|
|
|
|
Use the RichTextBox.SelectionStart property and RichTextBox.GetPositionFromCharIndex method:
int charIndex = richTextBox1.SelectionStart;
Point p = richTextBox1.GetPositionFromCharIndex(charIndex); The point is relative to the control.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Hey
I have a Panel Libary class that contains of buttons. Each button has a click event.
I use a panel object in a diffent class named OurMain. When I trigger the butten_click event in the Panel Libary class it should trigger an even in the OurMain class. So far I have oused a hidden Label in each class, so that when a button is pushed, the Label in Panel Libary class gets a different value, The Label in the OurMain class then gets the new value as in the Panel Libary class. In OurMain class the Label has a on Label_TextChanged method, from there I call the different methods I want to trigger in the OurMain class.
This works for most of the time, but not allways .
The question is, is there a better and more safe way of doing this?
Thanks for your help
Thomas
|
|
|
|
|
You could add an event to the Panel class, then have the Panel handle all the Button.Click events, which fires the event you added. Done right, the form containing the panel could access the button (the first parameter in any EventHandler -derived delegate is the object that raised the event). You could even make your own delegate (instead of using the EventHandler delegate) if you don't want to worry about casting:
public delegate void ButtonEventHandler(Button sender, EventArgs e);
public class MyPanel : Panel
{
public MyPanel()
{
button1.Click += new EventHandler(this.button_Click);
button2.Click += new EventHandler(this.button_Click);
}
public event ButtonEventHandler ButtonClick;
private void button_Click(object sender, EventArgs e)
{
if (this.ButtonClick != null)
this.ButtonClick(sender as Button, e);
}
} Then, any button click event is handled by the panel, which then fires it's own event. Note (as I mentioned above), you oculd just stick with the EventHandler delegate for your event, but then your containing Form will have to type-cast the sender each time (making sure that it is a button, of course). Even in the code above, though, your Form should make sure sender isn't null (always better to be safe than sorry).
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
and i need to display word docs on my form and handle it.
i can do this with excel docs by adding it's component in the toolbar from com components. but there is no com component for word. and i do not know what is the problem exactly!!!!
Iam using vs.net 2003 profissional and office 2002(xp) and can not use office2003
thnx in advance
|
|
|
|
|
Not sure what you mean by "handle it", but you can host the web browser and navigate a word document there.
RSS feed
|
|
|
|
|
first :thanx so much
second :handel it mean: i need to count words, catch user events, merge to file....things like these.
do u mean to host my web browser in my form and open my doc file in the web controle??
i'll c what can i get from this
thnx another time
|
|
|
|
|
Handling a word document the way you want it and showing it at the same time is best done in the context of a Word add-in, where you get both your freedom and the automation handle to play with.
I'll definitely would go that route, rather the opposite where you are asking for troubles.
Plenty of articles for writing your add-ins everywhere.
Troubles since :
- As of date, winforms don't (directly) support active documents (ole container). Whidbey due in June is supposed to solve this, but I guess this is too late!
- Internet explorer is a ole site for all sorts of things, including active documents. So if you host IE in your form, it can in turn act like a host for whatever OLE document including Word, Excel, ... But showing it is mostly the thing you can do with it. It's much harder to tunnel commands this way.
- Although C# does COM interop, it's not very good at doing this, especially when you need both the visible stuff, and the automation stuff. What I mean is that there are a lot of problems when you the stuff to release well from the memory, to behave well when you click, etc.
Good luck!
RSS feed
|
|
|
|
|
after alot alot alot of searshing i agree with
but i have a project and i have to finish it any way, and i'll not give up till i finish it, event if i have to code any needed objects for this, but i do not want to go that way now, i have found com component that display the doc but i can not play with it,
........................!!!!!!!!!!
|
|
|
|
|
Vocjeny
|
|
|
|
|
Stephane's idea is probably the best way to embed a Word document in your application. There is another way, though, if you really want to go to all the work, but you should be very familiar with ActiveX programming interfaces.
The WebBrowser control (actually, MSHTML) can host the doc because it is a container. Making your application a valid ActiveX container is very difficult and requires that you implement many interfaces (most of which are not defined in the .NET base class library, so you either have to create an interop assembly or manually define the interfaces with all the right attributes and parameter marshaling). Just to name a view interface, you'll need to read about IOleContainer , IOleDocumentView , IOleWindow , and many more. You can use oleview.exe to examine the interfaces implemented by the Microsoft HTML Document COM object (mshtml.dll) for a list. Not all the interfaces have to be implemented, though.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
I found an activex control built by microsoft people that holds an Office document, and you can use it in your forms. I don't have the url, but have the file. I'll put it on my server and you can download it from there.
http://www.juriscomp.com/emp/guille[^]
Free your mind...
|
|
|
|
|
|
Thnx so much Guillermo i've downloaded this activex and i'll test it and citact u back
thnk in advance u was so helpful
|
|
|
|
|
i tryed the activex and it's exactly what iam looking for.
but i have found a web sample writen in vbscript(client side script)
and i wanna know if i can deal with this activex by dynamic serverside script,
or by another words can play with this control by asp.net coz i do not know much about vb syntax.
|
|
|
|
|
What exactly do you want to do ??
I used the ActiveX on a windows form application, but I've never used it on a web page, just saw the example that came with the package.
If you give me a little description about what you want to do, may be I can give you a hand.
Free your mind...
|
|
|
|
|
never mind Guillermo i desided to use it with windows form
but plz allow me to contact u after this. coz i have some problems in this project coz most of my experience in the web field with java(jsp) & asp.net(c#)
thnx so much
|
|
|
|
|
Hi to all and compliments about the site
Is possible in VC#, no with the alias, to make so that the compiler uses in automatic the short name of namespace.
Es instead of:
using System.Window.Forms
public class MainForm: System.Window.Forms.Form
{}
Directly:
using System.Window.Forms
public class MainForm: Form
{}
In this way the code is simpler to read
Thanks Pino
|
|
|
|
|
You definitely should read the C# language specification in the .NET Framework SDK documentation, and should at the very least take a look at some examples. It's important to understand what is in the .NET class library, but it's even more important to know the language you'll be programming in! By far!
What you're looking for is:
using System.Windows.Forms;
public class MainForm : Form
{
} Like most languages, C# statements most often end with a semi-colon (;) and use curly brackets for blocks.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
In old days In FoxPro could generate a page for a given table with edit boxes for every field, some navigation buttons, add, delete, find - all this without too much typing
Is there something like that for C# ?
Datagrid is not an option here because of validations, auto-calculated fields and user preferences
I have a lot of tables with a lot of columns and to create all forms is just overkill.
Any hints please?
Thanks
|
|
|
|
|
C# is a programming languages that targets the Common Languages Runtime. FoxPro is a complete database application environment so it has a lot of bells and whistles like that.
The DataGrid can do all those things you want by overriding key functionality. I suggest you thoroughly examine the methods and properties of the DataGrid . As far as user preferences are concerned, this is not even an issue. As with all preferences, you change the the object in question when either initializing or update it when preferences change.
Windows Forms uses data-bound controls. You can drag-and-drop a table to your form which will create the necessary connection and command objects (although it'd be better to create a new DataSet class (Add New->Class->DataSet) in your project and drag the tables to the designer's surface, then drag the DataSet component from the Component toolbox and select your strongly-typed DataSet . Then you add the appropriate controls to your form, go to the DataBindings category and click the "..." button. The UI is pretty intuitive.
You can find more information by reading some of the articles in the .NET Framework SDK.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
hallo
i posted a similarly message a few days before in the vb-forum but unsuccessfully.
is it possible to create a virtual display device?
is it possible to open a form in this virtual device?
i need to do this, because i like to make a screenshot of this form but the form should not be visible for the user. i tryed to make a screenshot, when the form is out of the screen or when it is invisible but of course this doesn't work.
any idea...
regards
bernd
|
|
|
|
|
I want to do something like below(in ASP.NET & C#):
string strupdate = "UPDATE table SET field = field + intvariable WHERE otherfield = yes";
but i don't know how i can do (add a variable value to a numerical field in a ACCESS database).
Please tell me the right string that i can use.
|
|
|
|