If by directory size, you mean the sum of all file sizes in a certain directory, you can use Directory.GetFiles() to get all the files w/in a directory, then iterate thru each file to accumulate the FileInfo.Length property.
On the FileSystemWatcher, I think what it can monitor is when files are added, deleted, modified, etc. but not "directory size".