Yes, if you void all items on a ticket then the ticket will be closed since it has no further items on it.
However, if you don’t allow all items to be voided, it might cause you other problems because there are many genuine scenarios you might need to void all items on an order.
I don’t think it is a good idea for stopping all items being voided. Also like I said previously, how about if ticket only has one item, can’t that item be voided? Sometimes a reason of concern with void is due to staff misuse of the function, so there are other ways around that. You can also allow either only admins, or specific users to use void function, and you can force it so it asks for confirmation by admin PIN if the feature is used.
Anyway, even the ticket won’t show if all items are voided, you can still see this information in reports.
Maybe you can consider also using Void Reasons to make sure staff give a reason for every void. You can check out this tutorial on how to do that: