|
Huh? How can you like Silverlight, but not like WPF? They are the same thing! Silverlight is a stripped down version of WPF. Winforms is pretty much MFC with primitive data binding support. Not quite sure what you find confusing about WPF. The layout engine always gives me exactly what I want as its a million times more powerful and flexible then the Winforms one. Oh well... too each his own I guess.
|
|
|
|
|
I like Silverlight and not WPF because the types of UI you produce fit quite nicely into the Web 2.0 paradigm, but generally not into what is expected from a desktop app. It's quite difficult in WPF to produce something that looks like a standard Windows app (right?). I'm sure there's some unfamiliarity as well but it just seems more suited to the web to me.
|
|
|
|
|
? Out of the box, WPF will produce apps that look exactly like Winforms apps. Its just, remember all that crazy code you wrote to do Owner Draw & Custom Draw controls? SetPixel, GetPixel, BitBlt, etc? In WPF that 1000 lines of code is now 2 lines of XAML pretty much. WPF is pretty much Winforms + superior data binding + superior custom drawing support.
|
|
|
|
|
Modifying controls in WPF requires you to replace the XAML template, doesn't it?
Maybe it's just that all the material on WPF focuses on the 'cool stuff' and not making normal apps. Even Microsoft's introductory topic[^] is 'shiny' and web-like in the interfaces it shows, though.
|
|
|
|
|
I had the feeling that BobJanova's answer was not very related, hence the 'investigating....'
I didn't even notice we have a special WPF section. Guess I have been posting in the wrong section.
Thanks again for all the input!
|
|
|
|
|
Hi Team,
Is it possible to remove WATERMARKS from existing PDF.? using C#.?
thanks
Satish
|
|
|
|
|
Yes, but only by accessing the raw data of the file and re-writing it to a new one. However, something tells me this may not be legal so I will not suggest a solution.
|
|
|
|
|
|
Hi Hari,
Thanks for the quick reply.
I dont have the ORIGINAL source... i.e Option A [Best] - approach.
I have tried using ASPOSE.PDf,PDFTRON etc. which supports to delete the water marks if they added using those Components.
But My requirement is to remove the WaterMARK(added by Thrid party tool..) from PDF.?
thanks
Satish
|
|
|
|
|
A third party tool is putting the watermarks in??
This is usually because you're using an evaluation version of the tool. A fully-paid and licensed version of the tool probably won't do this.
I doubt anyone is going to help you with this unless you can convince people that what you're doing is not stealing someones hard work when they created that PFD tool.
|
|
|
|
|
|
What you need to do is
- parse the PDF drawing stream
- determine what part of it is creating the watermark
- remove it
- rewrite the PDF drawing stream
- fix up the PDF xref table
Any decent watermark will make part 2 hard, probably mixing the drawing in with some state setup so if you just remove it wholesale it messes up the drawing on the rest of the page. If the PDF is encrypted then getting to the drawing objects might itself be hard (not sure how PDF encryption works though – if readers can read them then they can't be inaccessible).
Unless you can explain why you want to do this (and the result is morally non-objectionable) I won't help any further than that.
Ed: the most effective way is to buy a licence for the software you're using to create the PDFs
|
|
|
|
|
I have a file explorer feature for a windows application.
I need to show the computer drives that are only permitted to user. By using driveinfo we get all logicaldrives,but how to check whether which drive is permitted for user ?
When i run this application in Windows server 2008 i should be able to view only the permitted drives in fileexplorer.
Using System.Security.Principal.WindowsIdentity.GetCurrent() i can get the current loggedin user.
|
|
|
|
|
Considering all drives are always visible to every user by default, your request doesn't make much sense.
If policies are preventing a user from seeing a drive, the code that enumerates drives won't show the letters that the user cannot see anyway, without you having to check permissions.
|
|
|
|
|
Hi guys,
I'm trying to develop a PDF417 Barcode generator software. The problem is, the software is very hard to develop. I've surveyed and found some SDK which will help on generating barcode, but then those SDKs were demo or trial editions. It will expire in some time.
Can anyone help me let know where I can find free SDK for PDF417 Barcode generator.
It must be able to generate the output as an image file.
I've also tried for third party free barcode generating software, but then its unable to generate the barcode with lots of data in it, even if it do, the barcode generated was very big and couldn't fit on the product itself..
thanks.
Regards,
Machan
|
|
|
|
|
Lots of possibilities here[^], to either learn how to generate your own, or buy a ready made package. If you don't find a free one then it looks like you will have to build your own.
|
|
|
|
|
|
I would like to know the best way of handling exception and logging ..
Please advise
thanks in advance..
|
|
|
|
|
arun_pk wrote: handling exception
Try.....Catch blocks
arun_pk wrote: logging
Write your own logging class to write out to a text file or integrate with the Windows Event Log using System.Diagnostics.EventLog
|
|
|
|
|
arun_pk wrote: the best way of handling exception
Depends on business requirements and application.
However there is unlikely to be a single answer to that even within a single application.
arun_pk wrote: know the best way of ... logging
Depends on business requirements an application. And can also depend on your definition of "logging" as well.
|
|
|
|
|
Hi all,
I have two DataGridView s on my form with similar data in each. I'd like to view the same section of both DataGridView s at the same time. In other words, if the scroll bars in one DataGridView is scrolled, I want to set the scroll bars for the other one accordingly.
I found this article which explains how to set scroll bars (using Interop) but I'm either doing something wrong or it's just not working for DataGridView s:
How to change scrollbars position in a multiline textbox[^]
Based on the referenced article, this is block of code I currently have in the Scroll() event handler for but it does nothing:
int orientation = 0;
switch (e.ScrollOrientation)
{
case ScrollOrientation.HorizontalScroll: orientation = 0; break;
case ScrollOrientation.VerticalScroll: orientation = 1; break;
}
SetScrollPos(dataGridView2.Handle, orientation, e.NewValue, true);
SendMessage(dataGridView2.Handle, EM_LINESCROLL, 0, e.NewValue);
Could anyone help me out here please?
|
|
|
|
|
Hi,
I haven't done this, however:
1.
EM_LINESCROLL seems appropriate for a line-oriented Control, not for a Row/Column/Cell-oriented one. Not sure what would fit better.
2.
I would try first without native code. I suggest you look into the Scroll event and the FirstDisplayedCell , FirstDisplayedScrollingRowIndex , FirstDisplayedScrollingColumnIndex properties. You could get the row/column indexes from the one DGV and use those in scrolling the other DGV.
|
|
|
|
|
Thanks, but no, it doesn't quite solve my problem.
1. Yes, I also wondered about EM_LINESCROLL and I also wasn't sure what else to use or even how to go about finding out.
2. I know of the FirstDisplayedCell, FirstDisplayedScrollingRowIndex and FirstDisplayedScrollingColumnIndex properties but they only scroll the DataGridView to integral positions that coincide with the start of the referenced cell, row or column.
Thanks though.
|
|
|
|
|
Have you tried: inheriting from DataGridView (gives you access to VerticalScrollBar), and putting some sort of synchronisation on your class?
class MyGrid : DataGridView {
public static void Link(IEnumerable<MyGrid> grids){
foreach(MyGrid grid in grids)
grid.VerticalScrollBar.Scroll += (s,e) => HandleScroll(grids, e.NewValue);
}
static void HandleScroll(IEnumerable<MyGrid> grids, int value){
foreach(MyGrid grid in grids) grid.VerticalScrollBar.Value = value;
}
}
And call it like:
var grids = List<MyGrid>();
grids.Add(myFirstGrid);
grids.Add(mySecondGrid);
MyGrid.Link(grids);
... in your form's initialisation process.
(Note: I haven't tried this, just going on the documentation.)
Ed: I tried, and you do have to have the lists as type MyGrid, not DataGridView. So you will have to make the controls on your form MyGrids, too. Also, you might want to handle DataGridView.Scroll as well as the scrollbar's Scroll; I'm not sure when each one gets fired.
|
|
|
|
|
What a beautiful solution, thanks. It doesn't work 100% though. It only synchronises the scrollbars but not the actual position of the grid inside the gridview. Any idea why that would be? It seems that by setting MyGrid.VerticalScrollBar.Value, it only updates the position of the scrollbar but does nothing to the body of the grid.
|
|
|
|